1、同济大学同济大学 第第8.4 8.4 程序设计语言程序设计语言和程序设计方法和程序设计方法1 1同济大学同济大学 目的目的2 2n 程序设计语言发展程序设计语言发展n 语言处理程序语言处理程序n 程序设计一般过程程序设计一般过程n 程序设计方法程序设计方法同济大学同济大学 8.4.1 程序设计语言概述程序设计语言概述同济大学同济大学 系统软件4 4操作系统操作系统语言处理程序语言处理程序实用程序实用程序翻译工具翻译工具作用:作用:将源将源程序翻译成计算程序翻译成计算机能识别机能识别的的机机器语言程器语言程序。序。程序设计语言:程序设计语言:机器语言机器语言汇编语言汇编语言高级语言高级语言典型的
2、程序设计语言有:典型的程序设计语言有:FORTRAN、Pascal、C与与C+、BASIC、Java、C#等。等。汇汇编编程程序序编编译译程程序序解解释释程程序序同济大学同济大学 5 51.1.机器语言机器语言由由“0”、“1”二进制代码按一定规则组成的、能被机器直二进制代码按一定规则组成的、能被机器直接理解、执行的指令集合。接理解、执行的指令集合。缺点:缺点:编程工作量大,难学、难记、难修改;编程工作量大,难学、难记、难修改;不同不同计算机的计算机的指令系统不同,机器语言通用性差指令系统不同,机器语言通用性差优点优点:代码不需要翻译,所占空间少,执行速度快。代码不需要翻译,所占空间少,执行速
3、度快。例如,计算例如,计算A=15+10 A=15+10 的机器语言程序如下:的机器语言程序如下:10110000 0000111110110000 00001111:把把1515放入累加器放入累加器A A中中00101100 0000101000101100 00001010:1010与累加器与累加器A A的值相加,结的值相加,结果仍放入果仍放入A A中中1111010011110100:结束,停机结束,停机同济大学同济大学 6 62.2.汇编语言汇编语言使用反映机器指令功能的助记符代替机器语言的符号语言。使用反映机器指令功能的助记符代替机器语言的符号语言。例如用例如用ADDADD表示加、表
4、示加、SUBSUB表示减、表示减、JMPJMP表示程序跳转等等。表示程序跳转等等。优点:优点:克服了机器语言难读等缺点,保持了其编程质量高、占克服了机器语言难读等缺点,保持了其编程质量高、占存储空间少,执行速度快的优点。存储空间少,执行速度快的优点。缺点:缺点:仍然依赖于机器,通用性差。仍然依赖于机器,通用性差。特点:特点:源程序源程序必须通过汇编程序翻译成机器语言。必须通过汇编程序翻译成机器语言。常用于过程常用于过程控制等编程。控制等编程。例如,计算例如,计算 A=15+10 A=15+10 的汇编语言程序:的汇编语言程序:MOVMOV A A,1515:把:把1515放入累加器放入累加器A
5、 A中中ADDADD A A,1010:1010与累加器与累加器A A相加,结果存入相加,结果存入A A中中HLTHLT:结束,停机:结束,停机类比:类比:IP地址地址202.120.189.146机器语言机器语言域名域名汇编语言汇编语言同济大学同济大学 7 73.3.高级语言高级语言接近于自然语言和数学公式的程序设计语言。接近于自然语言和数学公式的程序设计语言。优优点点:接近算法语言,易学、易掌握,接近算法语言,易学、易掌握,可读性好,可维护性强,可靠性高;可读性好,可维护性强,可靠性高;可移植性好,重用率高可移植性好,重用率高自动化程度自动化程度高,编高,编程效率高。程效率高。缺点:缺点:
6、源程序源程序要要通通过翻译程序翻译成过翻译程序翻译成机器语言,代码不最优。机器语言,代码不最优。例如,计算例如,计算 A=15+10 A=15+10 的的BASICBASIC语言程序如下:语言程序如下:A=15+10A=15+10 15 15与与1010相加的结果放入相加的结果放入A A中中PRINT APRINT A 输出输出A AENDEND 程序结束程序结束同济大学同济大学 8.4.2 8.4.2 语言处理程序语言处理程序8 8机器语言机器语言源程序源程序汇编语言汇编语言源程序源程序机器语言程序机器语言程序(目标程序)(目标程序)汇编程序汇编程序翻译翻译低级语言处理程序低级语言处理程序同
7、济大学同济大学 高级语言翻译程序高级语言翻译程序9 9高级语言高级语言源程序源程序计算结果计算结果解释程序解释程序数据数据高级语言高级语言源程序源程序计算结果计算结果连接程序连接程序数据数据目标目标程序程序可执行可执行程序程序编译程序编译程序解释方式解释方式编译方式编译方式BasicC+程序库程序库可脱离编译程序和源程可脱离编译程序和源程序独立存在并反复使用序独立存在并反复使用同济大学同济大学 8 8.4.3.4.3 程序设计的一般过程程序设计的一般过程10分析问题确定数学模型程序编写、编辑、编译和连接算法设计运行和测试同济大学同济大学 程序设计方法n结构化程序设计结构化程序设计n面向对象程序
8、设计面向对象程序设计11同济大学同济大学 结构化程序设计思想n最早由荷兰科学家最早由荷兰科学家E.W.DijkstraE.W.Dijkstra提出提出p任何程序都基于任何程序都基于顺序顺序、选择选择、循环循环三种基本的三种基本的控制结构控制结构p程序具有模块化特征,每个程序模块具有程序具有模块化特征,每个程序模块具有惟一惟一的入口和出口的入口和出口p取消取消GOTOGOTO语句语句n结构化程序的结构简单清晰,可读性好,模结构化程序的结构简单清晰,可读性好,模块化强块化强。12同济大学同济大学 结构化编程主要包括两个方面 提倡采用自顶向下、逐步细化的模块化程序设计原则 每个模块强调采用单入口单出
9、口的三种基本控制结构(顺序、选择、循环),避免使用GOTO语句13主程序模块2模块3模块1模块11模块112 模块31模块32模块111模块311同济大学同济大学 面向对象程序设计n8080年代初面向对象的程序设计年代初面向对象的程序设计(Object(Object Oriented ProgrammingOriented Programming,简称,简称OOP)OOP)n用面向对象的方法解决问题,不再将问题分用面向对象的方法解决问题,不再将问题分解为过程,而是将问题解为过程,而是将问题分解为对象分解为对象。p对象:属性、方法和事件对象:属性、方法和事件n“对象消息对象消息”的面向对象的程序
10、设计模式的面向对象的程序设计模式有取代有取代“数据结构算法数据结构算法”的面向过程的程的面向过程的程序设计模式的趋向。序设计模式的趋向。14同济大学同济大学 两者区别n结构化的分解突出结构化的分解突出过程过程:p如何做如何做(How to do)(How to do)?它强调代码的功能是如何得?它强调代码的功能是如何得以完成。以完成。n面向对象的分解突出真实世界和抽象的面向对象的分解突出真实世界和抽象的对象对象:p做什么做什么(What to do)(What to do)?它将大量的工作由相应的对?它将大量的工作由相应的对象来完成,程序员在应用程序中只需说明要求对象完象来完成,程序员在应用程
11、序中只需说明要求对象完成的任务。成的任务。15同济大学同济大学 面向对象程序设计益处 符合人们习惯的思维方法,便于分析复杂符合人们习惯的思维方法,便于分析复杂而多变化的问题;而多变化的问题;易于软件的维护和功能的增减;易于软件的维护和功能的增减;可重用性好,能用继承的方式减短程序开可重用性好,能用继承的方式减短程序开发所花的时间;发所花的时间;与可视化技术相结合,改善了工作界面和与可视化技术相结合,改善了工作界面和便于与用户交互。便于与用户交互。同济大学同济大学 1717常用高级语言常用高级语言Fortran:1954年推出,适用于科学和工程计算。年推出,适用于科学和工程计算。C、C+:197
12、2年推出年推出C语言,语言,1983年加入面向对象的概念,年加入面向对象的概念,改名为改名为C+。语言简练、功能强,适用面广。语言简练、功能强,适用面广。BASIC:初学者语言,:初学者语言,1964年推出;年推出;1991年微软推出可视化年微软推出可视化的、基于对象的的、基于对象的VisualBasic开发环境,发展到现在的开发环境,发展到现在的VB.NET开发环境,则是完全面向对象、功能更强大。开发环境,则是完全面向对象、功能更强大。Java:1995年推出,是一种新型的跨平台的面向对象设计语年推出,是一种新型的跨平台的面向对象设计语言,言,具有卓越的通用性、高效性、平台移植性和安全性。具有卓越的通用性、高效性、平台移植性和安全性。C#:以其:以其简单的可视化操作,高运行效率,强大的操作能力简单的可视化操作,高运行效率,强大的操作能力,面向组件编程的支持成为,面向组件编程的支持成为.NET开发的首选语言。开发的首选语言。2013年年4月月TIOBE编程语言排行榜编程语言排行榜
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。