《程序设计知识》PPT课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《程序设计知识》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《程序设计知识》PPT课件.ppt(160页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第5章 程序设计知识1计算机工作步骤:计算机工作步骤:首先,明确给出工作步骤;首先,明确给出工作步骤;算法设计算法设计然后,用某种计算机能理解的方法告诉计算机。然后,用某种计算机能理解的方法告诉计算机。程序设计程序设计第第5章章 程序设计知识程序设计知识算法设计:算法设计:给出完成任务的工作步骤。给出完成任务的工作步骤。程序设计的高级阶段程序设计的高级阶段程序设计:程序设计:用计算机能理解的某种语言把算法改写成程序。用计算机能理解的某种语言把算法改写成程序。提高程序设计能力需要的知识:提高程序设计能力需要的知识:1.语言知识:语言知识:至少熟悉一种程序设计语言,能够根据算法思路至少熟悉一种程序
2、设计语言,能够根据算法思路熟练地编写出高质量的程序;熟练地编写出高质量的程序;2.数据结构知识:数据结构知识:能够为要解决的问题设计出高效的数据逻辑能够为要解决的问题设计出高效的数据逻辑结构和存储结构,保证程序的运行效率;结构和存储结构,保证程序的运行效率;3.编译知识:编译知识:深入理解高级语言源程序的执行过程,有助于编深入理解高级语言源程序的执行过程,有助于编写出高质量的中大规模程序。写出高质量的中大规模程序。2第第5章章 程序设计知识程序设计知识v5.1程序设计语言程序设计语言v5.2C语言程序设计语言程序设计v5.3数据结构数据结构v5.4编译原理编译原理v5.5本章小结本章小结3程序
3、设计语言(程序设计语言(programminglanguage):):是人类与计算机交流的工具。是人类与计算机交流的工具。告诉计算机完成某项工作的语言,一种让人与计算机之间告诉计算机完成某项工作的语言,一种让人与计算机之间进行交流,让计算机理解人的意图并按照人的意图完成工进行交流,让计算机理解人的意图并按照人的意图完成工作的符号系统。作的符号系统。5.1 程序设计语言程序设计语言计算机工作过程:计算机工作过程:针对要完成任务的步骤,基于某种程序针对要完成任务的步骤,基于某种程序设计语言编写出程序,提交给计算机执行,从而完成该项任务。设计语言编写出程序,提交给计算机执行,从而完成该项任务。计计算
4、算机机的的工工作作是是用用 程程 序序 来来控控制制的的。45.1 程序设计语言程序设计语言机器语言机器语言机器语言机器语言机器语言机器语言汇编语言汇编语言汇编语言汇编语言汇编语言汇编语言高级语言高级语言高级语言高级语言高级语言高级语言程序设计语言程序设计语言:指令或语句的集合。指令或语句的集合。指令或语句:指令或语句:让计算机完成某项功让计算机完成某项功能的命令。能的命令。指令指令机器语言或汇编语言中;机器语言或汇编语言中;语句语句高级语言中。高级语言中。55.1 程序设计语言程序设计语言v机器语言机器语言v汇编语言汇编语言v高级语言高级语言v结构化程序设计语言结构化程序设计语言v面向对象程
5、序设计语言面向对象程序设计语言v可视化程序设计语言可视化程序设计语言v人工智能程序设计语言人工智能程序设计语言学习语言是设计程 序 的 基 础65.1.1 机器语言机器语言v由计算机硬件系统可以识别的二进制指令组成的由计算机硬件系统可以识别的二进制指令组成的语言称为语言称为机器语言。机器语言。v机器语言的特点机器语言的特点由由二进制编码指令二进制编码指令构成的语言。构成的语言。是一种依附于机器硬件的语言。是一种依附于机器硬件的语言。机器语言程序机器语言程序可以直接执行可以直接执行。v机器语言指令的组成:机器语言指令的组成:操作码操作码+操作数操作数 操作码操作码用于说明用于说明指令的功能指令的
6、功能;操作数操作数用于说明用于说明参与操作的数据或数据所在单元的地址参与操作的数据或数据所在单元的地址。操作码和操作数都是操作码和操作数都是以二进制的形式表示以二进制的形式表示。75.1.1 机器语言机器语言【例例5.1】机器语言程序示例。机器语言程序示例。程序功能程序功能:把两个内存单元中的数相加,并将结果存入另外:把两个内存单元中的数相加,并将结果存入另外 一个单元。一个单元。0001010101101100/把地址为把地址为01101100的内存单元中的数装入的内存单元中的数装入0101号寄存器号寄存器0001011001101101/把地址为把地址为01101101的内存单元中的数装入
7、的内存单元中的数装入0110号寄存器号寄存器0101000001010110/把把0101和和0110寄存器中的数相加寄存器中的数相加,结果存入结果存入0000号寄存器号寄存器0011000001101110/把把0000号寄存器中的数存入地址为号寄存器中的数存入地址为01101110的的内存单元中内存单元中85.1.1 机器语言机器语言v机器语言的优缺点机器语言的优缺点v缺点缺点:指令难以准确记忆;指令难以准确记忆;程序容易写错;程序容易写错;程序难以理解和修改。程序难以理解和修改。v优点:优点:可直接执行,运行效率高可直接执行,运行效率高95.1.2 汇编语言汇编语言v汇编语言的特点汇编语
8、言的特点由由助记符指令助记符指令构成的语言。构成的语言。也是一种依附于机器硬件的语言。也是一种依附于机器硬件的语言。汇编语言源程序汇编语言源程序需要汇编后才能执行需要汇编后才能执行。汇编程序汇编程序/汇编器汇编器v汇编语言指令的组成汇编语言指令的组成 助记符:助记符:表示指令的操作码。表示指令的操作码。(如(如MOV表示数据传送操作表示数据传送操作,ADD表示加法操作表示加法操作等。)等。)存储单元存储单元/寄存器寄存器:表示操作数。表示操作数。105.1.2 汇编语言汇编语言【例例5.2】汇编语言程序示例。汇编语言程序示例。程序功能:程序功能:把两个内存单元中的数据相加,并将结果存入另外把两
9、个内存单元中的数据相加,并将结果存入另外一个单元。一个单元。MOVR5,X/把内存单元把内存单元X中的数装入中的数装入R5寄存器寄存器ADDR5,Y/把把R5中的数与中的数与Y单元中的数相加,结果存入单元中的数相加,结果存入R5MOVZ,R5/把把R5中的数存入中的数存入Z单元中单元中 v汇编语言的优缺点汇编语言的优缺点优点:优点:指令容易记忆,程序容易编写和理解;指令容易记忆,程序容易编写和理解;相对机器语言相对机器语言缺点:缺点:助记符比较难以记忆,需要编程人员对计算机的硬件结构助记符比较难以记忆,需要编程人员对计算机的硬件结构 有比较深入的了解。抽象层次很低,仍然是有比较深入的了解。抽象
10、层次很低,仍然是低级语言低级语言。115.1.3 高级语言高级语言v高级语言的特点高级语言的特点由由自然语言自然语言和和数学公式数学公式表示的语言。表示的语言。是一种独立于机器硬件的语言。是一种独立于机器硬件的语言。高级语言程序高级语言程序需要编译后才能执行需要编译后才能执行。【例例5.3】高级语言程序示例。高级语言程序示例。程序功能:程序功能:把两个内存单元中的数相加,并将结果存入另外把两个内存单元中的数相加,并将结果存入另外一个单元。一个单元。Z=X+Y/把内存单元把内存单元X中的数与中的数与Y中的数相加,结果存入中的数相加,结果存入Z单元单元 125.1.3 高级语言高级语言v高级语言源
11、程序需要先翻译成高级语言源程序需要先翻译成等价的目标程序等价的目标程序,才能为计算机理解和执行。才能为计算机理解和执行。v翻译程序的两种模式:翻译程序的两种模式:编译程序:编译程序:先把高级语言的源程序先把高级语言的源程序翻译成目标程序翻译成目标程序,然后经过连接装配程序然后经过连接装配程序生成可执行程序生成可执行程序,最后,最后运行运行可执行程序可执行程序。解释程序:解释程序:边翻译边执行,边翻译边执行,不需要翻译成目标程序。不需要翻译成目标程序。135.1.3 高级语言高级语言v三种语言的应用比较:三种语言的应用比较:机器语言机器语言目前一般不直接用来编写程序。目前一般不直接用来编写程序。
12、汇编语言汇编语言靠近机器,能够充分利用计算机硬件的特性,编写靠近机器,能够充分利用计算机硬件的特性,编写出的程序效率较高,出的程序效率较高,用于对效率要求较高的规模不用于对效率要求较高的规模不大的程序大的程序(如外设驱动程序、计算机控制程序等)。(如外设驱动程序、计算机控制程序等)。高级语言高级语言用于编写规模较大的程序用于编写规模较大的程序。145.1.3 高级语言高级语言1.FORTRAN语言语言FORmulaTRANslator(公式翻译器公式翻译器)的缩写。)的缩写。用于用于数学公式的表达数学公式的表达和和科学计算科学计算。第一个实用高级语言第一个实用高级语言,其编译程序也是史上,其编
13、译程序也是史上第一个编译器第一个编译器。FORTRAN77结构化程序设计语言结构化程序设计语言,FORTRAN2003面向对象的程序设计语言面向对象的程序设计语言。n应用领域:应用领域:计算密集的分子生物学、高能物理学、大气物计算密集的分子生物学、高能物理学、大气物 理学、地质学和气象学(天气预报)。理学、地质学和气象学(天气预报)。155.1.3 高级语言高级语言2.ALGOL语言语言ALGOL是是ALGOrithmLanguage(算法语言算法语言)的缩写。)的缩写。用于用于科学计算科学计算。ALGOL60、ALGOL68曾在我国得到广泛学习和使用;曾在我国得到广泛学习和使用;后随着后随着
14、Pascal出现被逐渐淘汰。出现被逐渐淘汰。3.COBOL语言语言nCOmmonBusiness-OrientedLanguage(面向商业的通面向商业的通用语言用语言)的缩写。)的缩写。n用于用于企业管理企业管理和和事务处理事务处理,以一种接近于英语书面语言的形,以一种接近于英语书面语言的形式来描述式来描述数据特性数据特性和和数据处理过程数据处理过程,因而便于理解和学习。,因而便于理解和学习。n应用领域:应用领域:银行行业,可运行于大中型机环境。银行行业,可运行于大中型机环境。165.1.3 高级语言高级语言4.BASIC语言语言nBeginnersAll-purposeSymbolicIn
15、structionCode(初学者通用符号指令码初学者通用符号指令码)的缩写。)的缩写。n用于用于初学者初学者和和较小规模的程序开发较小规模的程序开发。简单易学简单易学n各种版本:各种版本:TrueBASIC、QuickBASIC、TurboBASIC结构化程序设计语言结构化程序设计语言VisualBASIC面向对象程序设计语言面向对象程序设计语言175.1.4 结构化程序设计语言结构化程序设计语言v早期程序设计方法的不足早期程序设计方法的不足注重功能的实现和编程技巧注重功能的实现和编程技巧/注重内存的节省注重内存的节省/注重执行注重执行效率的提高。效率的提高。不注重程序结构的清晰性。不注重程
16、序结构的清晰性。不注重程序的可理解性和可修改性。不注重程序的可理解性和可修改性。v结构化程序设计方法的特点结构化程序设计方法的特点强调从程序强调从程序结构和风格结构和风格上来研究程序设计。上来研究程序设计。n结构化程序是由结构化程序是由顺序结构、选择结构和循环结构顺序结构、选择结构和循环结构构成;构成;注重程序结构的清晰性。注重程序结构的清晰性。注重程序的可理解性和可修改性。注重程序的可理解性和可修改性。采用采用模块化模块化程序设计方法。程序设计方法。结构化程序设计方法的精髓:结构化程序设计方法的精髓:自顶向下自顶向下、逐步求精、逐步求精185.1.4 结构化程序设计语言结构化程序设计语言模块
17、模块:若干个可单独命名和编址的部分。若干个可单独命名和编址的部分。模块化实际上是把一个复杂的大程序的编写模块化实际上是把一个复杂的大程序的编写分解为分解为若干个相互联系、又相对独立的小程序若干个相互联系、又相对独立的小程序的编写,使的编写,使程序易于编写、理解和修改。程序易于编写、理解和修改。算法算法+数据结构数据结构=程序设计程序设计NiklausWirth195.1.4 结构化程序设计语言结构化程序设计语言1.PASCAL语言语言是在是在ALGOL语言的基础上发展起来的。语言的基础上发展起来的。以法国著名科学家以法国著名科学家帕斯卡帕斯卡(机械式计算机)的名字命名。(机械式计算机)的名字命
18、名。主要特点:主要特点:严格的语法格式与结构化形式,丰富完备的严格的语法格式与结构化形式,丰富完备的 数据类型,运行效率高,查错能力强。数据类型,运行效率高,查错能力强。版本及影响:版本及影响:TurboPascal系列系列Borland公司公司20世纪世纪70-90年代,影响很大。年代,影响很大。205.1.4 结构化程序设计语言结构化程序设计语言2.C语言语言是在是在ALGOL60ALGOL60语言的基础上发展起来的。语言的基础上发展起来的。发展历程:发展历程:ALGOL60-CPL-BCPL-B-CALGOL60-CPL-BCPL-B-C 为编写为编写UNIXUNIX操作系统而研发操作系
19、统而研发。兼具兼具低级语言低级语言(精炼、接近硬件,但过于简单、无数精炼、接近硬件,但过于简单、无数据类型据类型)和)和高级语言高级语言(语句结构合理,有数据类型)(语句结构合理,有数据类型)的特点的特点。是最为流行的程序设计语言之一。是最为流行的程序设计语言之一。流行版本:流行版本:Turbo CTurbo C、MS CMS C、C+C+、C#C#、Visual Visual C+C+和和 Visual Visual C+.NetC+.Net等。等。215.1.5 面向对象程序设计语言面向对象程序设计语言v结构化程序设计方法的不足结构化程序设计方法的不足 面向过程的设计方法与人们习惯的思维方
20、式仍然存在一定面向过程的设计方法与人们习惯的思维方式仍然存在一定的距离,所以的距离,所以很难自然、准确地反映真实世界很难自然、准确地反映真实世界,因而用编,因而用编写出来的程序,特别是规模比较大的程序,其质量是难以写出来的程序,特别是规模比较大的程序,其质量是难以保证的。保证的。强调了强调了要实现功能的操作方法(模块),要实现功能的操作方法(模块),而而被操作的数据被操作的数据(变量)处于实现功能的从属地位,(变量)处于实现功能的从属地位,即即程序模块和数据结程序模块和数据结构是松散地耦合构是松散地耦合在一起,当程序复杂度较高时,容易出错,在一起,当程序复杂度较高时,容易出错,而且错误难以查找
21、和修改。而且错误难以查找和修改。225.1.5 面向对象程序设计语言面向对象程序设计语言v面向对象程序设计语言的特点面向对象程序设计语言的特点 将问题分解为将问题分解为对象对象。对象将自己的对象将自己的属性和方法属性和方法封装封装成一个整体,供程序设计者成一个整体,供程序设计者使用。使用。对象之间的相互作用则通过对象之间的相互作用则通过消息传递消息传递来实现。来实现。使人们对复杂系统的认识过程与程序设计过程尽可能一致。使人们对复杂系统的认识过程与程序设计过程尽可能一致。数据结构数据结构+算法算法对象对象+消消息息235.1.5 面向对象程序设计语言面向对象程序设计语言v常用面向对象程序设计语言
22、常用面向对象程序设计语言Simula67n发布于发布于1967年,是年,是面向对象语言的鼻祖面向对象语言的鼻祖。C+n发布于发布于1983年,是在年,是在C语言的基础上发展起来的。语言的基础上发展起来的。nC+是得到广泛应用的一种面向对象语言。是得到广泛应用的一种面向对象语言。n目前常用的版本有目前常用的版本有VisualC+,C#,VisualC+.Net等。等。Javan发布于发布于1995年,适合于年,适合于网络程序设计网络程序设计。n也是目前得到广泛应用的一种面向对象程序设计语言。也是目前得到广泛应用的一种面向对象程序设计语言。245.1.6 可视化程序设计语言可视化程序设计语言v可视
23、化程序设计语言的特点可视化程序设计语言的特点以图形化的编程方式将面向对象技术的特性体现出来。以图形化的编程方式将面向对象技术的特性体现出来。通过用鼠标拖曳图形化的控件就可以完成通过用鼠标拖曳图形化的控件就可以完成Windows风风格界面的设计工作,大大减轻了程序设计人员的编程工格界面的设计工作,大大减轻了程序设计人员的编程工作量,作量,使开发软件这一原本枯燥、难以理解的工作变得使开发软件这一原本枯燥、难以理解的工作变得相对轻松快捷。相对轻松快捷。v常用可视化程序设计语言常用可视化程序设计语言VisualC+n功能强大,比较适合专业人员使用。功能强大,比较适合专业人员使用。VisualBasic
24、n易于学习和掌握,比较适合非专业人员和初学者使用。易于学习和掌握,比较适合非专业人员和初学者使用。255.1.7 人工智能程序设计语言人工智能程序设计语言v人工智能程序设计语言的特点人工智能程序设计语言的特点让计算机具有类似于人的智能,适合于让计算机具有类似于人的智能,适合于知识表示知识表示和和逻辑推理逻辑推理。v常用人工智能程序设计语言常用人工智能程序设计语言LISPnLISP是是LIStProcessing(表处理)的缩写。(表处理)的缩写。n包含一套符号处理函数,具有符号集上的递归函数的包含一套符号处理函数,具有符号集上的递归函数的计算能力,计算能力,可以解决人工智能中的符号处理问题可以
25、解决人工智能中的符号处理问题。n不足:不足:一是一是数据类型少,表达能力有限;数据类型少,表达能力有限;二是二是程序执行速度较慢。程序执行速度较慢。265.1.7 人工智能程序设计语言人工智能程序设计语言PROLOGn是是PROgramminginLOGic(逻辑程序设计逻辑程序设计)的缩写。)的缩写。n基于基于一阶谓词逻辑一阶谓词逻辑,既有坚实的理论基础,又有较强,既有坚实的理论基础,又有较强的表达能力;自动实现的表达能力;自动实现模式匹配、自动回溯模式匹配、自动回溯这两种人这两种人工智能中常用的基本操作。工智能中常用的基本操作。n不足:不足:系统开销较大,程序执行效率较低。系统开销较大,程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计知识 程序设计 知识 PPT 课件
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内