网站大量收购独家精品文档,联系QQ:2885784924

大学程序设计语言下载课件chap1章节.ppt

大学程序设计语言下载课件chap1章节.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.1 为什么学习程序设计语言? 增强设计高效率算法的能力;(如递归) 提高对现存程序语言的运用能力; 增加有用程序结构的词汇表; 可以对程序语言有更好的选择; 更容易学习新语言; 更容易设计出一种新语言; 1.2 程序语言发展简史 机器语言—汇编语言—高级语言; 基于数字计算的语言,如Fortran; 基于商业语言,如COBOL; 人工智能语言,如LISP; 系统语言,如C语言; 语言的应用领域 商业: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 1.3 对程序语言影响的主要因素 1)计算机性能:计算机性能价格比在不断提高,嵌入了OS,使用高级语言成为可能。 2)应用:从军事、科技、商业、工业领域—计算机游戏、个人计算机,乃至各个领域。 3)编程方法:简单程序—复杂程序; 技巧性—可读性。 4)实现方法:设计新的数据结构和算法, 实现高效性—可维护性。 5)理论研究:采用形式化的数学方法进行语言数据结构、算法等设计、实现方面的研究。6)标准化:强调可移植性。 1.4 好语言的特征 1)透明性、简单性和统一性:从语法上的区别就能体现语义上的区别。 2)正交性:是指能将一种语言的各种特征以所有可能的情况加以组合,并且每一种组合均有意义。例,假设某种语言(如C)提供了能够产生值的表达式,而且也提供了条件语句以计算一个表达式的值是真或假。如果任何一个表达式在条件语句中都能使用(和计算),那么这种语言中的这两个特征,即表达式和条件语句就具有正交性。 正交性的好处:需要记忆的特殊情况较少,易于学习和编程。缺点:可能包含逻辑不连贯性的特征组合。 3)应用的自然性:使得程序结构能够反映出算法的逻辑结构基础。理想情况下,能够将程序设计直接转化成正确的反映算法结构的程序语句(自然语言描述的算法可直接转化成程序语句)。 4)抽象性的支持:能够支持抽象性的数据结构(如包含有“学生、班级、教师、教室”等成员的记录Record,结构Struct等)以及抽象的操作(如给一个班级分配教室)。程序员的一项重要工作就是:设计抽象类、实现抽象类。 5)程序的易验证性:语义和语法的简单性是简化程序验证的一个基本要素。 6)编程环境:集成化的编程环境。如VB、VC、VJ、JBuilder、Delphi等。 7) 可移植性:能将一台机器上开发的程序在另一台机器上运行。如Java程序。 8)使用代价 程序执行代价:运行时占用系统资源代价。如今,不是关心的主要问题。 翻译的代价:翻译的速度和占用系统资源代价,对于教学性的语言较为强调。 程序创建、测试和使用的代价:程序员设计、编码、调试、修改、集成、测试和使用时投入的总时间与工作量。这是目前最关心的代价之一。如Perl,Smalltalk 程序维护的代价:在程序的使用过程中对程序反复修改、修复和升级扩充所花费的代价。这是目前最关心的代价之一。 1.5 程序设计语言的基本计算模型 命令式语言(过程式语言) 是命令驱动和面向语句的语言。 程序由一系列的语句组成,其一般语法形式为: 语句1; 语句2; …… 每条语句执行的结果是的计算机改变一个或多个存储单元的值,即进入一个新的状态。其操作过程如图所示。 模型的优点:效率较高。 语言实例:C,Pascal,Fortran,COBOL等。 应用领域:科学计算、系统设计、商业应用、工业控制等领域。 应用式语言(函数式语言) 以数据为驱动的强调程序(函数)执行的初始状态和处理(输出)结果。 不是将计算看成连续的机器状态的转换,而是看成为了得到答案而应用于数据的连续的函数转换。其一般语法形式为: functionn(…function2(function1(data))…) 该模型可看成是一个以原始数据作为输入,对内存进行操作以产生答案的透镜。其操作过程如图所示 模型的优点:较好的灵活性和可靠性。 语言实例:侧重于人工智能的LISP,ML语言等。 应用领域:人工智能。 基于规则语言(逻辑编程语言) 以条件作为驱动而执行相应动作的语言。规则=条件+动作 类似于命令式语言,但语句不是连续的,启用条件决定语句的 执行顺序。其一般语法形式为: 启用条件1 动作1 启用条件2 动作2 …… 该模型可看作是应用于数据的一个过滤器集合。通过使用过滤器来改变状态。其操作过程如图所示。 模型的优点:较好的灵活性和

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档