《程序设计语言.ppt》由会员分享,可在线阅读,更多相关《程序设计语言.ppt(24页珍藏版)》请在优知文库上搜索。
1、1/242/24一、程序设计的概念一、程序设计的概念 程序程序:计算机的一组指令,经过编译和:计算机的一组指令,经过编译和执行才能最终完成程序的功能。执行才能最终完成程序的功能。 程序设计程序设计:计算机解决问题的全过程。:计算机解决问题的全过程。程序设计的基本过程程序设计的基本过程:分析问题,明确任务;分析问题,明确任务;建立数学模型,选择合适的解决方案;建立数学模型,选择合适的解决方案;确定数据结构和算法;确定数据结构和算法;编写程序;编写程序;调试程序;调试程序;整理文档,交付使用。整理文档,交付使用。3/24二、程序设计方法二、程序设计方法 1.1.结构化程序设计结构化程序设计 基本思
2、想基本思想:顺序结构:顺序结构 选择结构选择结构 循环结构循环结构 设计原则设计原则:自顶向下:自顶向下 逐步求精逐步求精 模块化模块化程序模块程序模块1程序模块程序模块2程序模块程序模块2条件条件程序模块程序模块1成立成立不成立不成立条件条件程序模块程序模块成立成立不成立不成立4/24 2.2.面向对象程序设计面向对象程序设计 对象对象:用来描述客观事物的实体,反映:用来描述客观事物的实体,反映系统为之保存信息和与之交互的能力。每个系统为之保存信息和与之交互的能力。每个对象有各自的内部属性和操作方法。对象有各自的内部属性和操作方法。属性:属性:频道频道颜色颜色音量音量方法:方法:调节频道调节
3、频道调节颜色调节颜色调节音量调节音量电视机电视机电视机对象电视机对象 整个程序是由一系列相互作用的对象构成整个程序是由一系列相互作用的对象构成的,对象之间的交互通过发送消息来实现。的,对象之间的交互通过发送消息来实现。5/24 类类:具有相同的属性和操作方法,并遵:具有相同的属性和操作方法,并遵守相同规则的对象的集合。守相同规则的对象的集合。 类是对象集合的抽象,规定了这些对象类是对象集合的抽象,规定了这些对象的公共属性的公共属性( (即数据结构即数据结构) )和方法和方法( (操作数据操作数据的函数的函数) )。对象是类的一个实例。对象是类的一个实例。例如例如:一个面向对象的图形程序,在屏幕
4、的左下角显示一个半径为:一个面向对象的图形程序,在屏幕的左下角显示一个半径为2cm2cm的红色圆,在屏幕的中部显示一个半径为的红色圆,在屏幕的中部显示一个半径为3cm3cm的黄色圆,在屏幕的右下的黄色圆,在屏幕的右下角显示一个半径为角显示一个半径为4cm4cm的蓝色圆。这三个圆的圆心位置、半径大小和颜的蓝色圆。这三个圆的圆心位置、半径大小和颜色均不相同,是三个不同的对象。但是它们有相同的属性色均不相同,是三个不同的对象。但是它们有相同的属性( (圆心坐标、圆心坐标、半径、颜色半径、颜色) )和相同的操作和相同的操作( (显示图形、移动、缩放等显示图形、移动、缩放等) ),因此它们是同,因此它们
5、是同一类事物,可以用一类事物,可以用“CircleCircle类类”来定义。来定义。OOPOOP特点特点:封装、继承、多态性:封装、继承、多态性6/24三、程序设计语言三、程序设计语言文章文章汉语、英语汉语、英语字、词、语法结构字、词、语法结构写文章写文章程序程序计算机语言计算机语言数据表示、表达式数据表示、表达式语句结构语句结构编程序编程序计算机语言计算机语言:计算机所能够识别的语言:计算机所能够识别的语言程序设计语言计算机语言程序设计语言计算机语言7/24 1.1.语言的分类语言的分类应用范围应用范围通用语言、专用语言通用语言、专用语言系统程序设计语言、科学计算语言系统程序设计语言、科学计
6、算语言事务处理语言、实时控制语言事务处理语言、实时控制语言程序设计程序设计方法方法结构化语言结构化语言模块化语言模块化语言面向对象语言面向对象语言与硬件的与硬件的联系程度联系程度机器语言机器语言汇编语言汇编语言高级语言高级语言与计算机硬件基本无关与计算机硬件基本无关依赖于计算机硬件依赖于计算机硬件( (低级语言低级语言) )8/24 机器语言机器语言 从本质上说,计算机只能识别从本质上说,计算机只能识别0 0和和1 1两个两个数字,因此,计算机能够直接识别的指令是数字,因此,计算机能够直接识别的指令是由一连串的由一连串的0 0和和1 1组合起来的二进制编码。组合起来的二进制编码。机器指令操作码
7、操作数机器指令操作码操作数 机器语言机器语言:指计算机能够直接识别的指:指计算机能够直接识别的指令的集合。即以二进制代码表示的机器指令令的集合。即以二进制代码表示的机器指令集合,它是计算机能够直接识别和执行的语集合,它是计算机能够直接识别和执行的语言。言。 9/24指指令令序序号号 机机器器语语言言程程序序指指令令功功能能1 11 10 01 11 10 00 00 00 00 00 00 00 01 10 00 01 1把把一一加加数数 9 9 送送到到累累加加器器 A AL L 中中2 20 00 00 00 00 01 10 00 00 00 00 00 01 10 00 00 0把把累
8、累加加器器 A AL L 中中的的内内容容与与另另一一数数相相加加, ,结结果果仍仍存存放放在在 A AL L 中中3 31 11 11 11 10 01 10 00 0停停止止操操作作优点优点:占用内存少,执行速度快;:占用内存少,执行速度快;缺点缺点:面向机器语言,通用性差,不易阅:面向机器语言,通用性差,不易阅读和记忆,编程工作量大,难以维护。读和记忆,编程工作量大,难以维护。 例题例题 用用Intel 8086Intel 8086指令系统来编写机器语指令系统来编写机器语言程序,要求完成言程序,要求完成 9+8=9+8=?10/24序序号号汇汇编编语语言言程程序序语语句句功功能能1 1M
9、 MO OV V A AL L, ,9 9把把加加数数 9 9 送送累累加加器器 A AL L 中中2 2A AD DD D A AL L, ,8 8把把累累加加器器 A AL L 中中的的内内容容与与另另一一数数相相加加, ,结结果果存存入入 A AL L, ,即即完完成成 9 9+ +8 8 运运算算3 3H HL LT T停停止止操操作作 优点优点:比机器语言程序容易阅读和修改:比机器语言程序容易阅读和修改 缺点缺点:面向机器语言,通用性差。:面向机器语言,通用性差。 汇编语言汇编语言 汇编语言汇编语言:用符号代替机器指令所产生:用符号代替机器指令所产生的语言。例如,的语言。例如,808
10、68086汇编语言对汇编语言对9+8=?9+8=?编程编程11/24 源程序源程序:用汇编语言编写的程序。:用汇编语言编写的程序。 汇编程序汇编程序:负责翻译的软件。:负责翻译的软件。 主要作用主要作用源程序转换成用二进制代码源程序转换成用二进制代码表示的目标程序。表示的目标程序。 连接程序连接程序:将目标程序与库文件或其他:将目标程序与库文件或其他目标程序连接起来形成可执行程序。目标程序连接起来形成可执行程序。汇编语言源程序汇编语言源程序目标程序目标程序可执行程序可执行程序汇编程序汇编程序连接程序连接程序12/24 高级语言高级语言 高级语言高级语言:用接近自然语言和数学语言:用接近自然语言
11、和数学语言的语法、符号描述基本操作的程序设计语言的语法、符号描述基本操作的程序设计语言 BASICBASIC、FORTRANFORTRAN、PascalPascal、COBOLCOBOL、C C VBVB、VC+VC+、DelphiDelphi、JavaJava、C#C# 例如前面例如前面9+8=?9+8=?,用,用C C语言编程:语言编程: main()main() intint al; al; al=9+8; al=9+8; 13/24 优点优点:符合人类习惯,简单易学:符合人类习惯,简单易学 通用性强,便于维护通用性强,便于维护 源程序源程序:用高级语言编写的程序。:用高级语言编写的程序
12、。 翻译程序翻译程序:将源程序翻译成用二进制代:将源程序翻译成用二进制代码表示的目标程序。码表示的目标程序。 翻译程序的工作方式翻译程序的工作方式: 解释方式:边解释边执行解释方式:边解释边执行 编译方式:写程序、编译程序编译方式:写程序、编译程序 运行程序运行程序14/24高级语言源程序高级语言源程序执行结果执行结果解释程序解释程序解释方式解释方式编译方式编译方式可执行程序可执行程序高级语言源程序高级语言源程序编译程序编译程序目标程序目标程序连接程序连接程序15/24 2.2.程序设计语言的选择程序设计语言的选择 选择编程语言涉及很多因素:选择编程语言涉及很多因素: 人的因素:编程小组精通这
13、门语言吗人的因素:编程小组精通这门语言吗 任务需要:选择的语言能否实现任务任务需要:选择的语言能否实现任务的全部功能?能跨平台吗?有数据库接口功的全部功能?能跨平台吗?有数据库接口功能吗?能直接控制声卡等硬件吗?能吗?能直接控制声卡等硬件吗? 客户指定,或要通过串行口控制一个客户指定,或要通过串行口控制一个外部设备,外部设备,C C汇编语言是最明智的选择。汇编语言是最明智的选择。了解一些流行的语言,对于做出合理选择会有帮助。了解一些流行的语言,对于做出合理选择会有帮助。16/24一、程序语言的开端一、程序语言的开端(1940-1950)(1940-1950)PlankalulPlankalul
14、:第一个真正意义上的计算机程序设计语言:第一个真正意义上的计算机程序设计语言ENIAC coding systemENIAC coding system:第一台电子计算机的编程语言:第一台电子计算机的编程语言二、二、百花齐放的阶段百花齐放的阶段( (1950-1967)1950-1967)FORTRANFORTRAN:科学计算领域广泛使用的语言:科学计算领域广泛使用的语言LISPLISP: 第一个函数式程序设计语言第一个函数式程序设计语言COBOLCOBOL:第一个商用语言:第一个商用语言ALGOLALGOL:面向算法设计的高级语言:面向算法设计的高级语言BASICBASIC:面向初学者的简单
15、易用的高级语言:面向初学者的简单易用的高级语言17/24三、三、范型发展阶段范型发展阶段( (1968-1978)1968-1978)PascalPascal:广泛使用的结构化程序设计语言:广泛使用的结构化程序设计语言C C: 使用最普遍的系统级程序设计语言使用最普遍的系统级程序设计语言Smalltalk:Smalltalk:第一个面向对象程序设计语言第一个面向对象程序设计语言PrologProlog: 逻辑式程序设计语言逻辑式程序设计语言SQLSQL:数据应用领域的标准语言:数据应用领域的标准语言四、四、巩固提高阶段巩固提高阶段( (1979-1989)1979-1989)C+C+: 面向对
16、象和系统级程序设计结合面向对象和系统级程序设计结合AdaAda: 美国政府的标准化系统开发语言美国政府的标准化系统开发语言PerlPerl:著名脚本语言:著名脚本语言18/24五、五、互联网时代互联网时代( (1990-1999)1990-1999)HaskellHaskell:函数式程序设计语言:函数式程序设计语言PythonPython: 著名脚本语言著名脚本语言Visual BasicVisual Basic:流行:流行RADRAD语言语言HTMLHTML:网页语言:网页语言JavaJava:跨平台通用高级语言:跨平台通用高级语言DelphiDelphi:基于:基于PascalPascal的的RADRAD语言语言六、进一步发展的新世纪六、进一步发展的新世纪( (2000-2000-至今至今) ).NET.NET:微软公司的编程平台:微软公司的编程平台C#C#: 面向对象的运行于面向对象的运行于.NET.NET上的高级语言上的高级语言19/24 命令式程序设计语言命令式程序设计语言:通过指明一列可:通过指明一列可执行的运算及运算的次序来描述计算过程的执行的运算及运算的次序来描述计算