- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * 函数程序设计语言 * 程序设计语言范型Programming Languages Paradigms 教师: 张荣华 计算机科学与技术学院 华北电力大学 函数式程序设计语言 Scheme语言数据抽象 第二部分 第五章 Scheme语言数据抽象 第五章 - * 回顾 任何强有力的程序设计语言都必须能表述基本的数据和过程,还需要提供对数据和过程进行组合和抽象的方法——摘自《计算机程序的构造和解释》 ⑴ 控制抽象(表达式层次、语句层次、程序单元层次) ⑵ 数据抽象(本章研究内容) Scheme语言数据抽象 第五章 - * 回顾 Scheme语言控制抽象(第五章 第二部分) 将一个过程的使用方式,与该过程究竟如何通过更基本的过程实现的具体细节相互分离的一种技术。 ① 基本数据(数); ② 基本过程(算数运算); ③ 用复合、条件、参数将过程组合起来形成复合过程; ④ 通过define、lambda做过程抽象; ⑤ 过程的计算模式(递归计算和迭代计算过程) ⑥ 高阶过程 Scheme语言数据抽象(第五章 第三部分) 讨论程序设计语言提供的将数据对象组合起来形成复合数据的方式。 Scheme语言数据抽象 第五章 - * 内容 1. 数据抽象导引 1.1 序对 1.2 有理数包的抽象屏障 2. 表结构 2.1 序列与闭包性质 2.2 表操作 2.3 表映射 3. 函数式语言高级抽象综合实例 Scheme语言数据抽象 第五章 - * 1. 数据抽象导引 数据抽象 将程序中处理数据对象的表示的部分,与处理数据对象的使用的部分相互隔离起来的一种技术。 例如:考虑线性组合: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语言数据抽象 第五章 - * 实例:有理数的算术运算 假定: ①存在一种方法可以从分子和分母构造出有理数; ②存在一种方法可以从已经存在的有理数中分离它的 分子和分母。 (make-rat n d) (numer x) (denom x) //从分子n和分母d构造有理数并返回 //返回有理数x的分母 //返回有理数x的分子 构造函数 选择函数 Scheme语言数据抽象 第五章 - * 实例:有理数的算术运算 例如:实现两个有理数相加 Scheme语言数据抽象 第五章 - * 内容 1. 数据抽象导引 1.1 序对 1.2 有理数包的抽象屏障 2. 表结构 2.1 序列与闭包性质 2.2 表操作 2.3 表映射 3. 函数式语言高级抽象综合实例 Scheme语言数据抽象 第五章 - * 1.1 序对 Scheme语言提供的构造函数和选择函数 ⑴ 内部的基本过程:cons 模拟构造函数的功能,构造序对。 表结构:由序对构造起来的复合数据对象。 ⑵ 内部基本过程:car和cdr 模拟选择函数的功能,实现对序对的操作。 Scheme语言数据抽象 第五章 - * 内容 1. 数据抽象导引 1.1 序对 1.2 有理数包的抽象屏障 2. 表结构 2.1 序列与闭包性质 2.2 表操作 2.3 表映射 3. 函数式语言高级抽象综合实例 Scheme语言数据抽象 第五章 - * 1.2 有理数包的抽象屏障 使用有理数的程序 add-rat、sub-rat ... make-rat 、numer、denom cons、car、cdr 抽 象 抽 象 1 2 Scheme语言数据抽象 第五章 - * 内容 1. 数据抽象导引 2. 表结构 2.1 序列与闭包性质 2.2 表操作 2.3 表映射 3. 函数式语言高级抽象综合实例
您可能关注的文档
- 易飞90管理维护子系统ADM学习手册.docx
- 影响农户参保及否的主观因素分析.docx
- 第1课时营造地表形态力量.docx
- 甘肃诺鑫监理 四川巴塘县巴久河水电站 职业健康管理监护办法.docx
- 小学数学课堂中有效提问教学策略来源.docx
- 供应链整理资料 1.docx
- 管理学院趣味运动会策划最终版1.docx
- 《零突破》课件.ppt
- 02唐学忠Vocabulary.ppt
- 3 多元数量值函数的导数及微分-4 隐函数.ppt
- 宏观深度报告:中国产能周期,变化、机遇与挑战-250406-平安证券-17页.pdf
- 合并财务报表汇总抵销过程及审定报表分析.xlsx
- 通信行业深度:国防信息化与智能化建设有望提速,关注板块修复机会-250408-中信建投-42页.pdf
- 机械设备行业点评报告:深海科技迈入战略新阶段,聚焦核心装备机遇-250404-银河证券-12页.pdf
- 非银金融行业动态:银保渠道价值率改善驱动NBV高增,投资业绩大幅改善-250406-中信建投-27页.pdf
- 机械设备行业深度报告:核聚变订单加速落地,三四代机组进入交付上行期,迎接核能行业大时代-250410-方正证券-80页.pdf
- 行业轮动月报:食饮农牧等相对占优—多策略行业轮动模型月度跟踪(2025年4月)+-250410-中信建投-21页.pdf
- 固定收益点评:指数新高,转债如何应对?-250402-国海证券-13页.pdf
- 证券Ⅱ行业23家上市券商2024年报总结:投资再现胜负手,投行触底迎新-250406-广发证券-34页.pdf
- 今世缘(603369)解析今世缘的增长确定性-250403-广发证券-29页.pdf
最近下载
- 2021年香薰服务合同.docx
- 《Python与数据分析应用》课件——第10章 数据分析工具Pandas.pptx VIP
- 战争狂人希特勒简介.ppt
- 家庭教育指导师试题库.doc
- -司法鉴定人执业能力评估业务理论知识考试题库(司法鉴定人考试试题及答案解析)-.docx VIP
- 病房急产应急预案演练脚本.docx VIP
- 生产项目准入及预算标准第六册主网修理项目准入及预算标准(预算分册).docx
- 2025新人教版语文七年级下册《第一单元》大单元整体教学设计[2022课标].pdf
- 电子商务文案创意与撰写:直播脚本编写PPT教学课件.pptx
- (高清版)-B-T 30146-2023 安全与韧性 业务连续性管理体系 要求.pdf VIP
文档评论(0)