- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Tankertanker Design 第5章 编程 5.1 编程语言 5.2 高级程序设计 5.3 编码规范 5.4 程序调试 5.5 小结 习题 5.1.1 程序设计语言历史 5.1.2 结构化程序设计 5.1.3 选择语言的标准 5.1 编程语言 第一代计算机语言称为机器语言。机器语言将计算机指令中的操作码和操作数以“0”和“1”的二进制表示,可被计算机直接识别和执行。机器语言的优点是无需翻译,占用内存少、执行速度快。缺点是随计算机硬件的不同差异很大,并且由于机器指令和数据都是二进制,难于阅读和记忆,其编码工作量大,难以维护管理。 5.1.1 程序设计语言历史 第二代计算机语言称为汇编语言。汇编语言引入助记符来表示机器指令的符号语言。例如用ADD表示加法,用SUB表示减法等。用汇编语言编写的程序必须经过翻译(称为汇编),变成机器语言程序才能被计算机识别和执行。汇编语言在一定程度上克服了机器语言难于辨认和记忆的缺点,但对于大多数用户来说,仍然不便于理解和使用。 第三代计算机语言称为面向过程编程语言。从面向过程编程语言开始,计算机编程语言进入了高级编程语言阶段。高级编程语言的描述形式接近自然语言,采用类似自然语言的形式描述对问题的处理过程,用数学表达式的形式描述对数据的计算过程。高级编程语言使得人们不必需关心计算机的内部物理结构,将主要精力放在算法的设计和描述上。常用的计算机高级语言有Basic、Fortune、Cobol、Pascal和C 语言等。 第四代计算机语言称为面向对象程序编程语言,或非过程化语言,其具有如下特点:非过程性、采用图形窗口和人机对话形式、基于数据库和“面向对象”技术,第四代语言具有易编程、易理解、易使用、易维护等特点,常用的非过程化语言有Visual Basic、Java、Visual C++和Delphi等。 第五代计算机语言称为智能化语言,主要应用于人工智能领域,用于编写推理、演绎程序。 目前,国内外大多数软件是用第三代或第四代计算机语言编写的。 结构程序设计的概念最早由E.W.Dijkstra提出。 从高级语言中取消GO TO语句”,“程序的质量与程序中所包含的GO TO 语句的数量成反比”。 1966年Bohm和Jacopini证明了,只用3种基本的控制结构就能实现任何单入口单出口的程序。这3种基本的控制结构是“顺序”、“选择”和“循环”。 5.1.2 结构程序设计 3种基本的控制结构 其他常用的控制结构 (1)项目的应用领域 项目的应用领域作为选择程序设计语言最关键的因素,具体如下所示: 1)用于科学计算的语言:Fortran、A1gol、Pascal、C等; 2)用于系统软件设计的语言:Assmbler、PascaL、C等; 3)商用数据处理语官:COBOL、PL/I、DBASEⅡ、DBASEⅢ、FOXPRO、SQL、SYBASE、ORACLE等; 4)人工智能语言:Lisp、Prolog、FLL上等; 5)实时计算机系统:汇编语言、Ada、实时处理语言; 6)面向对象的语言:SMALLTALK、JAVA、VB.NET、C++等。 5.1.3 选择语言的标准 (2)算法和计算复杂度 一般来说,商用数据处理和应用软件的算法相对简单;而系统软件,工程计算模拟实时计算机系统以及人工智能的算法要复杂得多,根据各个语言的特点,选取能够适应软件项目算法和计算复杂性的语言。 (3)数据结构的复杂性 一般说来,商用数据处理和系统软件的数据结构较复杂,工程计算和模拟,实时计算机系统等数据结构较为简单。 (4)开发人员的水平 人们习惯使用自己熟悉的语言,软件开发人员的水平直接决定了所要选择的程序设计语言。 5.2.1 面向过程程序设计语言 5.2.2 面向对象程序设计语言 5.2.3 面向过程与面向对象区别 5.2 高级程序设计语言 面向过程程序设计语言其本质上是功能分解,是面向“过程”的,以实现功能的过程为中心,而用户的需求变化主要是针对功能的,功能变化往往引起结构变化较大,稳定性不好,不能直接反应人求解问题的思路。另外,面向过程语言由于数据与操作分开处理,可造成软构件对具体应用环境的依赖,可重用性较差。 面向对象程序设计是将数据模型和处理模型二者合一,将属性和方法封装在一个对象当中,事件驱动程序的设计是围绕着消息的产生和处理而展开的,而消息的产生往往并不要求有次序之分,消息是不会以任何预定义的顺序出现的。 5.3.1 编码风格 5.3.2 程序效率 5.3 编码规范
原创力文档


文档评论(0)