函数式程序设计语言.ppt

函数式程序设计语言.ppt

ID:51601684

大小:1.78 MB

页数:29页

时间:2020-03-25

函数式程序设计语言.ppt_第1页
函数式程序设计语言.ppt_第2页
函数式程序设计语言.ppt_第3页
函数式程序设计语言.ppt_第4页
函数式程序设计语言.ppt_第5页
资源描述:

《函数式程序设计语言.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、02九月2021程序设计语言范型ProgrammingLanguagesParadigms教师:张荣华计算机科学与技术学院华北电力大学函数式程序设计语言Scheme语言数据抽象第二部分第五章Scheme语言数据抽象第五章-3回顾任何强有力的程序设计语言都必须能表述基本的数据和过程,还需要提供对数据和过程进行组合和抽象的方法——摘自《计算机程序的构造和解释》⑴控制抽象(表达式层次、语句层次、程序单元层次)⑵数据抽象(本章研究内容)Scheme语言数据抽象第五章-4回顾Scheme语言控制抽象(第五章第二部分)将一个过程的使用方式,与该过程究竟如何通过更基本的过

2、程实现的具体细节相互分离的一种技术。①基本数据(数);②基本过程(算数运算);③用复合、条件、参数将过程组合起来形成复合过程;④通过define、lambda做过程抽象;⑤过程的计算模式(递归计算和迭代计算过程)⑥高阶过程Scheme语言数据抽象(第五章第三部分)讨论程序设计语言提供的将数据对象组合起来形成复合数据的方式。Scheme语言数据抽象第五章-5内容1.数据抽象导引1.1序对1.2有理数包的抽象屏障2.表结构2.1序列与闭包性质2.2表操作2.3表映射3.函数式语言高级抽象综合实例Scheme语言数据抽象第五章-61.数据抽象导引数据抽象将程序中处

3、理数据对象的表示的部分,与处理数据对象的使用的部分相互隔离起来的一种技术。例如:考虑线性组合:ax+by(define(linear-combination a b x y)    (+ (* a x) (* b y)))(define(linear-combination a b x y)        (add (mul a x) (mul b y)))数据抽象的关键:构造函数(“粘合剂”)+选择函数(“分离剂”)Scheme语言数据抽象第五章-7实例:有理数的算术运算假定:①存在一种方法可以从分子和分母构造出有理数;②存在一种方法可以从已经存在的有理数

4、中分离它的分子和分母。(make-rat)(numer)(denom)//从分子n和分母d构造有理数并返回//返回有理数x的分母//返回有理数x的分子构造函数选择函数Scheme语言数据抽象第五章-8实例:有理数的算术运算例如:实现两个有理数相加Scheme语言数据抽象第五章-9内容1.数据抽象导引1.1序对1.2有理数包的抽象屏障2.表结构2.1序列与闭包性质2.2表操作2.3表映射3.函数式语言高级抽象综合实例Scheme语言数据抽象第五章-101.1序对Scheme语言提供的构造函数和选择函数⑴内部的基本过程:cons模拟构造函

5、数的功能,构造序对。表结构:由序对构造起来的复合数据对象。⑵内部基本过程:car和cdr模拟选择函数的功能,实现对序对的操作。Scheme语言数据抽象第五章-11内容1.数据抽象导引1.1序对1.2有理数包的抽象屏障2.表结构2.1序列与闭包性质2.2表操作2.3表映射3.函数式语言高级抽象综合实例Scheme语言数据抽象第五章-121.2有理数包的抽象屏障使用有理数的程序add-rat、sub-rat...make-rat、numer、denomcons、car、cdr抽象抽象12Scheme语言数据抽象第五章-13内容1.数据抽象导引2.表结构2.1序列

6、与闭包性质2.2表操作2.3表映射3.函数式语言高级抽象综合实例Scheme语言数据抽象第五章-142.1序列与闭包性质序对的“盒子和指针表示方式”例如:每个对象表示一个指向盒子的指针左边的方盒放着序对的car右边的方盒放着序对的cdrcons的闭包性质建立元素本身也是序对的序对,表结构123412Scheme语言数据抽象第五章-152.1序列与闭包性质序列(Sequences)/表(list)由序对构造出的一种数据结构。表示一批数据对象的有序集合。1234Scheme语言数据抽象第五章-16内容1.数据抽象导引2.表结构2.1序列与闭包性质2.2表操作2.

7、3表映射3.函数式语言高级抽象综合实例Scheme语言数据抽象第五章-172.2表操作【例1】Scheme语言数据抽象第五章-182.2表操作【例2】用迭代计算模型改写下面的过程。Scheme语言数据抽象第五章-192.2表操作【例3】实现两个表的合并。Scheme语言数据抽象第五章-20内容1.数据抽象导引2.表结构2.1序列与闭包性质2.2表操作2.3表映射3.函数式语言高级抽象综合实例Scheme语言数据抽象第五章-212.3表映射表映射将某种变换应用于一个表的所有元素,得到的结果构成新的表。例如:将一个表中的元素按给定因子缩放。Scheme语言数据抽

8、象第五章-222.3表映射问题:如何将表的映射这个一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。