第11讲程序设计语言和编码.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11讲 程序设计语言和编码 编码(实现)阶段的任务是根据详细设计说明书编写程序 程序设计语言的特性和程序设计风格会深刻地影响软件的质量和可维护性 为了保证程序编码的质量,程序员必须深刻理解、熟练掌握并正确地运用程序设计语言的特性 此外,还要求源程序具有良好的结构性和良好的程序设计风格 提纲 程序设计语言 程序设计风格 基本概念 程序设计语言是指用于书写计算机程序的语言,它是一种实现性的软件语言 语法(syntax)用来表示构成语言的各个记号之间的组合规则,它是构成语言结构正确成分所需遵循的规则集合 如C语言中for语句的构成规则是: for(表达式1;表达式2;表达式3)语句 语法中不涉及到这些记号的含义,也不涉及使用者 语义(semantic)用来表示按照各种表示方式所表示的各个记号的特定含义,但它不涉及到使用者。 如上述for语句中:表达式1表示循环初值;表达式2表示循环条件;表达式3表示循环的增量;语句为循环体。整个语句的语义是: 1)计算表达式 2)计算表达式2,若计算结果为0,则终止循环;否则转3) 3)执行循环体 4)计算表达式3 5)转向2) 语用(pragmatic)用来表示构成语言的各个记号和使用者的关系。 如:语言是否允许递归?是否要规定递归层数的上界?这种上界如何确定?这些都属于语用上的问题。 程序设计语言的基本成分 程序设计语言基本成份可归纳为四种:数据成分、运算成分、控制成分、传输成分 请参考教材P250-251 程序设计语言的特性 心理特性 从设计到编码的转换基本上是人的活动,因此,语言的性能对程序员的心理影响将对转换产生重大影响 在维持现有机器的效率、容量和其它硬件限制条件的前提下,程序员总希望选择简单易学、使用方便的语言,以减少程序出错率,提高软件可靠性,从而提高用户对软件质量的可信度 影响程序员心理的语言特性有: 一致性:指语言采用的标记法(使用的符号)协调一致的程度。如,一符多用的标记法容易导致错误。 二义性:对语句不同理解所产生的二义性将导致程序员对程序理解的混乱。如, if C1 then S1 if C2 then S3 else x := a ** b ** c 紧致性(compactness):指程序员必须记忆的与编码有关的信息总量。刻画紧致性的指标有:对结构化部件的支持程度,可用关键字和缩写的种类,算术及逻辑操作符的数目,预定义函数的个数等。 局部性:程序由模块组成,应采用高内聚低耦合、模块独立、局部化等原则。 线性:人们习惯于按逻辑上线性的次序理解程序,程序中大量的分支和循环、随意的GOTO语句会破坏程序的线性,提倡结构化程序设计。 传统性:传统性容易影响人们学习新语种的积极性 工程特性 程序设计语言的特性影响人们思考程序的方式,从而也限制了人们与计算机进行通信的方式。为满足软件工程的需要,程序设计语言还应该考虑: 将设计翻译成代码的便利程度; 编译器的效率; 源代码的可移植性; 配套的开发工具; 软件的可复用性和可维护性 应用特性 不同的程序设计语言满足不同的技术特性,可以对应于不同的应用。例如Prolog语言适用于人工智能领域、SQL语言适用于关系数据库。 语言的技术特性对软件工程各阶段有一定的影响,特别是确定了软件需求之后,程序设计语言的特性就很重要了,要根据不同项目的特性选择相应特性的语言。 程序设计语言的发展和分类 程序设计语言的分类 按语言级别:低级语言和高级语言; 按应用范围:通用语言和专用语言; 按用户要求:过程式语言和非过程式语言; 按语言所含的成分:顺序语言、并发语言和分布式语言 程序设计语言的发展史 第一代语言:机器语言和汇编语言 第二代语言:早期的高级语言,如BASIC,FORTRAN,COBOL等 第三代语言:具有很强的数据结构和过程描述能力,支持结构化编程,如Pascal,Modula,C,Ada等 第四代语言(4GL):这类语言出现于七十年代,其目的是为了提高程序开发速度,以及让非专业用户能直接编制计算机程序 目前,第四代语言的种类繁多,尚无标准,在语法和能力上有很大差异,其中一些支持非过程式编程,更多的是既含有非过程语句,也含有过程语句。 典型的4GL有:数据库查询语言、报表生成程序、应用生成程序、电子表格、图形语言等。 多数4GL是面向领域的,很少是通用的。 自然语言 最理想的是可以使用自然语言(如英语、法语或汉语),使计算机能理解并立即执行请求。但迄今为止,自然语言理解仍然是计算机科学研究中的一个难点,尽管在实

文档评论(0)

bodkd + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档