程序设计语言PPT演示文稿
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
–类似于命令式语言,但语句不是连续的,启用条件 决定语句的 执行顺序。其一般语法形式为:
启用条件1
动作1
启用条件2
动作2
……
–该模型可看作是应用于数据的一个过滤器集合。通 过使用过滤器来改变状态。其操作过程如图所示。
– 翻译的代价:翻译的速度和占用系统资源代价, 对于教学性的语言较为强调。
– 程序创建、测试和使用的代价:程序员设计、
编码、调试、修改、集成、测试和使用时投入
的总时间与工作量。这是目前最关心的代价之 一。如Perl,Smalltalk
– 程序维护的代价:在程序的使用过程中对程序
反复修改、修复和升级扩充所花费的代价。这
+
=
程序 算法 数据结构
返回
5
1.2 程序语言发展简史
机器语言—>汇编语言—>高级语言;
基于数字计算的语言,如Fortran;
基于商业语言,如COBOL; 人工智能语言,如LISP; 系统语言,如C语言;
} 机器语言
低级语言
汇编语言
翻译 高级语言 执行语言
6
ຫໍສະໝຸດ Baidu
语言的应用领域
商业:COBOL,C++,Java,Excel,Delphi 科学:Fortran,C,C++,Java,Delphi,Basic 系统:C,C++,Java,Ada 人工智能:LISP,Prolog 出版:Tex,Postscript,Word 处理:Unix shell,TCL, Perl, Javascript
5)程序的易验证性:语义和语法的简单性是简 化程序验证的一个基本要素。
6)编程环境:集成化的编程环境。如VB、VC、 VJ、JBuilder、Delphi等。
10
7) 可移植性:能将一台机器上开发的程序在另一 台机器上运行。如Java程序。
8)使用代价
– 程序执行代价:运行时占用系统资源代价。如 今,不是关心的主要问题。
是目前最关心的代价之一。
返回11
1.5 程序设计语言的基本计算模型
命令式语言(过程式语言)
–是命令驱动和面向语句的语言。 –程序由一系列的语句组成,其一般语法形式为:
语句1; 语句2; ……
–每条语句执行的结果是的计算机改变一个或多个存 储单元的值,即进入一个新的状态。其操作过程如 图所示。
–模型的优点:效率较高。 –语言实例:C,Pascal,Fortran,COBOL等。 –应用领域:科学计算、系统设计、商业应用、工业
2
[重点和难点]: 本章的重点是:程序设计语言的基本概念;好的 程序语言的基本特征; 本章的难点是:程序设计语言的一般计算模型;
[知识点]: 程序;算法;数据结构;机器语言;汇编语言; 高级语言;翻译;可读性;可维护型;使用代价; 计算模型;
3
第1章 程序语言设计问题
1.1为什么学习程序设计语言(学习程序语言 有何作用)?
–该模型可看成是一个以原始数据作为输入,对内存 进行操作以产生答案的透镜。其操作过程如图所示
–模型的优点:较好的灵活性和可靠性。 –语言实例:侧重于人工智能的LISP,ML语言等。 –应用领域:人工智能。
14
应用式语言:改变 内存中数据的访问方式
透镜
+
15
基于规则语言(逻辑编程语言)
–以条件作为驱动而执行相应动作的语言。规则=条 件+动作
返回
7
1.3 对程序语言影响的主要因素
1)计算机性能:计算机性能价格比在不断提 高,嵌入了OS,使用高级语言成为可能。
2)应用:从军事、科技、商业、工业领域—> 计算机游戏、个人计算机,乃至各个领域。
3)编程方法:简单程序—>复杂程序; 技巧性—>可读性。
4)实现方法:设计新的数据结构和算法, 实现高效性—>可维护性。
5)理论研究:采用形式化的数学方法进行语 言数据结构、算法等设计、实现方面的研究。 6)标准化:强调可移植性。
返回
8
1.4 好语言的特征
1)透明性、简单性和统一性:从语法上的区别就能 体现语义上的区别。
2)正交性:是指能将一种语言的各种特征以所有可 能的情况加以组合,并且每一种组合均有意义。例, 假设某种语言(如C)提供了能够产生值的表达式, 而且也提供了条件语句以计算一个表达式的值是真 或假。如果任何一个表达式在条件语句中都能使用 (和计算),那么这种语言中的这两个特征,即表 达式和条件语句就具有正交性。
网络教学
Programming Language Design and Implementation
程序设计语言
1
第1章 程序语言设计问题
[学习目标]:初步掌握程序语言的基本概念,了 解程序语言的发展;了解编程环境对语言的影响。 -理解学习程序设计语言的作用; -了解几种语言的特点; -了解对程序语言影响的主要要素; -了解语言标准问题; -学习程序设计语言的基本计算模式;
控制等领域。
12
+
命令式语言:寄存器 为一系列的“盒子”
13
应用式语言(函数式语言)
–以数据为驱动的强调程序(函数)执行的初始状态 和处理(输出)结果。
–不是将计算看成连续的机器状态的转换,而是看成 为了得到答案而应用于数据的连续的函数转换。其 一般语法形式为:
functionn(…function2(function1(data))…)
1.2 程序设计语言的发展简史 1.3 对程序语言影响的主要因素 1.4 好语言的特征 1.5 程序设计语言的基本计算模型 1.6 语言标准 1.7 编程环境
4
1.1 为什么学习程序设计语言?
增强设计高效率算法的能力;(如 递归)
提高对现存程序语言的运用能力; 增加有用程序结构的词汇表; 可以对程序语言有更好的选择; 更容易学习新语言; 更容易设计出一种新语言;
正交性的好处:需要记忆的特殊情况较少,易于学 习和编程。缺点:可能包含逻辑不连贯性的特征组 合。
9
3)应用的自然性:使得程序结构能够反映出算 法的逻辑结构基础。理想情况下,能够将程序 设计直接转化成正确的反映算法结构的程序语 句(自然语言描述的算法可直接转化成程序语句)。
4)抽象性的支持:能够支持抽象性的数据结构 (如包含有“学生、班级、教师、教室”等成 员的记录Record,结构Struct等)以及抽象的 操作(如给一个班级分配教室)。程序员的一 项重要工作就是:设计抽象类、实现抽象类。