《计算思维导论课件 第4章》由会员分享,可在线阅读,更多相关《计算思维导论课件 第4章(24页珍藏版)》请在金锄头文库上搜索。
1、1程序设程序设计语言计语言一、程序设计的概念一、程序设计的概念 程序程序:计算机的一组指令,经过编译和:计算机的一组指令,经过编译和执行才能最终完成程序的功能。执行才能最终完成程序的功能。 程序设计程序设计:计算机解决问题的全过程。:计算机解决问题的全过程。4.1 程序设计基础程序设计的基本过程程序设计的基本过程:分析问题,明确任务;分析问题,明确任务;建立数学模型,选择合适的解决方案;建立数学模型,选择合适的解决方案;确定数据结构和算法;确定数据结构和算法;编写程序;编写程序;调试程序;调试程序;整理文档,交付使用。整理文档,交付使用。2程序设程序设计语言计语言二、程序设计方法二、程序设计方
2、法 1.1.结构化程序设计结构化程序设计 基本思想基本思想:顺序结构:顺序结构 选择结构选择结构 循环结构循环结构 设计原则设计原则:自顶向下:自顶向下 逐步求精逐步求精 模块化模块化4.1 程序设计基础程序模块程序模块1程序模块程序模块2程序模块程序模块2条件条件程序模块程序模块1成立成立不成立不成立条件条件程序模块程序模块成立成立不成立不成立3程序设程序设计语言计语言 2.2.面向对象程序设计面向对象程序设计 对象对象:用来描述客观事物的实体,反映:用来描述客观事物的实体,反映系统为之保存信息和与之交互的能力。每个系统为之保存信息和与之交互的能力。每个对象有各自的内部属性和操作方法。对象有
3、各自的内部属性和操作方法。4.1 程序设计基础属性:属性:频道频道颜色颜色音量音量方法:方法:调节频道调节频道调节颜色调节颜色调节音量调节音量电视机电视机电视机对象电视机对象 整个程序是由一系列相互作用的对象构成整个程序是由一系列相互作用的对象构成的,对象之间的交互通过发送消息来实现。的,对象之间的交互通过发送消息来实现。4程序设程序设计语言计语言 类类:具有相同的属性和操作方法,并遵:具有相同的属性和操作方法,并遵守相同规则的对象的集合。守相同规则的对象的集合。 类是对象集合的抽象,规定了这些对象类是对象集合的抽象,规定了这些对象的公共属性的公共属性( (即数据结构即数据结构) )和方法和方
4、法( (操作数据操作数据的函数的函数) )。对象是类的一个实例。对象是类的一个实例。4.1 程序设计基础例如例如:一个面向对象的图形程序,在屏幕的左下角显示一个半径为:一个面向对象的图形程序,在屏幕的左下角显示一个半径为2cm2cm的红色圆,在屏幕的中部显示一个半径为的红色圆,在屏幕的中部显示一个半径为3cm3cm的黄色圆,在屏幕的右下的黄色圆,在屏幕的右下角显示一个半径为角显示一个半径为4cm4cm的蓝色圆。这三个圆的圆心位置、半径大小和颜的蓝色圆。这三个圆的圆心位置、半径大小和颜色均不相同,是三个不同的对象。但是它们有相同的属性色均不相同,是三个不同的对象。但是它们有相同的属性( (圆心坐
5、标、圆心坐标、半径、颜色半径、颜色) )和相同的操作和相同的操作( (显示图形、移动、缩放等显示图形、移动、缩放等) ),因此它们是同,因此它们是同一类事物,可以用一类事物,可以用“CircleCircle类类”来定义。来定义。OOPOOP特点特点:封装、继承、多态性:封装、继承、多态性5程序设程序设计语言计语言4.1 程序设计基础三、程序设计语言三、程序设计语言文章文章汉语、英语汉语、英语字、词、语法结构字、词、语法结构写文章写文章程序程序计算机语言计算机语言数据表示、表达式数据表示、表达式语句结构语句结构编程序编程序计算机语言计算机语言:计算机所能够识别的语言:计算机所能够识别的语言程序设
6、计语言计算机语言程序设计语言计算机语言6程序设程序设计语言计语言 1.1.语言的分类语言的分类应用范围应用范围通用语言、专用语言通用语言、专用语言系统程序设计语言、科学计算语言系统程序设计语言、科学计算语言事务处理语言、实时控制语言事务处理语言、实时控制语言程序设计程序设计方法方法结构化语言结构化语言模块化语言模块化语言面向对象语言面向对象语言与硬件的与硬件的联系程度联系程度机器语言机器语言汇编语言汇编语言高级语言高级语言与计算机硬件基本无关与计算机硬件基本无关依赖于计算机硬件依赖于计算机硬件( (低级语言低级语言) )4.1 程序设计基础7程序设程序设计语言计语言 机器语言机器语言 从本质上
7、说,计算机只能识别从本质上说,计算机只能识别0 0和和1 1两个两个数字,因此,计算机能够直接识别的指令是数字,因此,计算机能够直接识别的指令是由一连串的由一连串的0 0和和1 1组合起来的二进制编码。组合起来的二进制编码。机器指令操作码操作数机器指令操作码操作数 机器语言机器语言:指计算机能够直接识别的指:指计算机能够直接识别的指令的集合。即以二进制代码表示的机器指令令的集合。即以二进制代码表示的机器指令集合,它是计算机能够直接识别和执行的语集合,它是计算机能够直接识别和执行的语言。言。 4.1 程序设计基础8程序设程序设计语言计语言优点优点:占用内存少,执行速度快;:占用内存少,执行速度快
8、;缺点缺点:面向机器语言,通用性差,不易阅:面向机器语言,通用性差,不易阅读和记忆,编程工作量大,难以维护。读和记忆,编程工作量大,难以维护。4.1 程序设计基础 例题例题 用用Intel 8086Intel 8086指令系统来编写机器语指令系统来编写机器语言程序,要求完成言程序,要求完成 9+8=9+8=?9程序设程序设计语言计语言 优点优点:比机器语言程序容易阅读和修改:比机器语言程序容易阅读和修改 缺点缺点:面向机器语言,通用性差。:面向机器语言,通用性差。4.1 程序设计基础 汇编语言汇编语言 汇编语言汇编语言:用符号代替机器指令所产生:用符号代替机器指令所产生的语言。例如,的语言。例
9、如,80868086汇编语言对汇编语言对9+8=?9+8=?编程编程10程序设程序设计语言计语言 源程序源程序:用汇编语言编写的程序。:用汇编语言编写的程序。 汇编程序汇编程序:负责翻译的软件。:负责翻译的软件。 主要作用主要作用源程序转换成用二进制代码源程序转换成用二进制代码表示的目标程序。表示的目标程序。 连接程序连接程序:将目标程序与库文件或其他:将目标程序与库文件或其他目标程序连接起来形成可执行程序。目标程序连接起来形成可执行程序。4.1 程序设计基础汇编语言源程序汇编语言源程序目标程序目标程序可执行程序可执行程序汇编程序汇编程序连接程序连接程序11程序设程序设计语言计语言 高级语言高
10、级语言 高级语言高级语言:用接近自然语言和数学语言:用接近自然语言和数学语言的语法、符号描述基本操作的程序设计语言的语法、符号描述基本操作的程序设计语言 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; 4.1 程序设计基础12程序设程序设计语言计语言 优点优点:符合人类习惯,简单易学:符合人类习惯,简
11、单易学 通用性强,便于维护通用性强,便于维护 源程序源程序:用高级语言编写的程序。:用高级语言编写的程序。 翻译程序翻译程序:将源程序翻译成用二进制代:将源程序翻译成用二进制代码表示的目标程序。码表示的目标程序。 翻译程序的工作方式翻译程序的工作方式: 解释方式:边解释边执行解释方式:边解释边执行 编译方式:写程序、编译程序编译方式:写程序、编译程序 运行程序运行程序4.1 程序设计基础13程序设程序设计语言计语言高级语言源程序高级语言源程序执行结果执行结果解释程序解释程序解释方式解释方式4.1 程序设计基础编译方式编译方式可执行程序可执行程序高级语言源程序高级语言源程序编译程序编译程序目标程
12、序目标程序连接程序连接程序14程序设程序设计语言计语言 2.2.程序设计语言的选择程序设计语言的选择 选择编程语言涉及很多因素:选择编程语言涉及很多因素: 人的因素:编程小组精通这门语言吗人的因素:编程小组精通这门语言吗 任务需要:选择的语言能否实现任务任务需要:选择的语言能否实现任务的全部功能?能跨平台吗?有数据库接口功的全部功能?能跨平台吗?有数据库接口功能吗?能直接控制声卡等硬件吗?能吗?能直接控制声卡等硬件吗? 客户指定,或要通过串行口控制一个客户指定,或要通过串行口控制一个外部设备,外部设备,C C汇编语言是最明智的选择。汇编语言是最明智的选择。了解一些流行的语言,对于做出合理选择会
13、有帮助。了解一些流行的语言,对于做出合理选择会有帮助。4.1 程序设计基础15程序设程序设计语言计语言4.2 程序设计语言的发展一、程序语言的开端一、程序语言的开端(1940-1950)(1940-1950)PlankalulPlankalul:第一个真正意义上的计算机程序设计语言:第一个真正意义上的计算机程序设计语言ENIAC coding systemENIAC coding system:第一台电子计算机的编程语言:第一台电子计算机的编程语言二、二、百花齐放的阶段百花齐放的阶段( (1950-1967)1950-1967)FORTRANFORTRAN:科学计算领域广泛使用的语言:科学计算
14、领域广泛使用的语言LISPLISP: 第一个函数式程序设计语言第一个函数式程序设计语言COBOLCOBOL:第一个商用语言:第一个商用语言ALGOLALGOL:面向算法设计的高级语言:面向算法设计的高级语言BASICBASIC:面向初学者的简单易用的高级语言:面向初学者的简单易用的高级语言16程序设程序设计语言计语言三、三、范型发展阶段范型发展阶段( (1968-1978)1968-1978)4.2 程序设计语言的发展PascalPascal:广泛使用的结构化程序设计语言:广泛使用的结构化程序设计语言C C: 使用最普遍的系统级程序设计语言使用最普遍的系统级程序设计语言Smalltalk:Sm
15、alltalk:第一个面向对象程序设计语言第一个面向对象程序设计语言PrologProlog: 逻辑式程序设计语言逻辑式程序设计语言SQLSQL:数据应用领域的标准语言:数据应用领域的标准语言四、四、巩固提高阶段巩固提高阶段( (1979-1989)1979-1989)C+C+: 面向对象和系统级程序设计结合面向对象和系统级程序设计结合AdaAda: 美国政府的标准化系统开发语言美国政府的标准化系统开发语言PerlPerl:著名脚本语言:著名脚本语言17程序设程序设计语言计语言五、五、互联网时代互联网时代( (1990-1999)1990-1999)4.2 程序设计语言的发展HaskellHa
16、skell:函数式程序设计语言:函数式程序设计语言PythonPython: 著名脚本语言著名脚本语言Visual BasicVisual Basic:流行:流行RADRAD语言语言HTMLHTML:网页语言:网页语言JavaJava:跨平台通用高级语言:跨平台通用高级语言DelphiDelphi:基于:基于PascalPascal的的RADRAD语言语言六、进一步发展的新世纪六、进一步发展的新世纪( (2000-2000-至今至今) ).NET.NET:微软公司的编程平台:微软公司的编程平台C#C#: 面向对象的运行于面向对象的运行于.NET.NET上的高级语言上的高级语言18程序设程序设计
17、语言计语言4.3 命令式程序设计语言 命令式程序设计语言命令式程序设计语言:通过指明一列可:通过指明一列可执行的运算及运算的次序来描述计算过程的执行的运算及运算的次序来描述计算过程的语言。语言。结构化程序设计语言:结构化程序设计语言:FORTRANFORTRAN、BASICBASIC Pascal Pascal、COBOLCOBOL ALGOL ALGOL、C C面向对象程序设计语言:面向对象程序设计语言:Visual BasicVisual Basic C+ C+、JavaJava、DelphiDelphi C# C#、PythonPython19程序设程序设计语言计语言4.4 函数式程序设
18、计语言 函数式程序设计语言函数式程序设计语言:用于函数式程序:用于函数式程序设计的语言。其中函数是构造程序的基本成设计的语言。其中函数是构造程序的基本成分,并提供一些设施用于构造更为复杂的函分,并提供一些设施用于构造更为复杂的函数。程序人员根据提出的问题去定义求解函数。程序人员根据提出的问题去定义求解函数,其中可能包含一些辅助函数。数,其中可能包含一些辅助函数。函数式程序设计语言:函数式程序设计语言:LISPLISP、ErlangErlang Ruby Ruby、HaskellHaskell ScalaScala、MLML20程序设程序设计语言计语言4.5 逻辑式程序设计语言 逻辑程序设计语言
19、逻辑程序设计语言:用于逻辑程序设计:用于逻辑程序设计的语言,包括:的语言,包括:顺序逻辑程序设计语言;顺序逻辑程序设计语言;并行逻辑程序设计语言;并行逻辑程序设计语言;约束逻辑程序约束逻辑程序设计语言。设计语言。逻辑程序逻辑程序设计语言的思路设计语言的思路:将逻辑直接作为:将逻辑直接作为程序设计的语言,并将计算作为受控推理。程序设计的语言,并将计算作为受控推理。它通过依赖于设定某种特定的建立在事实上它通过依赖于设定某种特定的建立在事实上的规则来解决问题,而不是通过设定特定的的规则来解决问题,而不是通过设定特定的步骤来解决问题。步骤来解决问题。如:如:PrologProlog。21程序设程序设计
20、语言计语言4.6 标记语言和Web开发语言一、标记语言一、标记语言 SGMLSGML、HTMLHTML、XMLXML二、二、WebWeb开发语言开发语言 CGICGI、ASPASP、PHPPHP、JSPJSP JavaScripeJavaScripe、AJAXAJAX22程序设程序设计语言计语言4.7 SQL语言 SQLSQL语言语言:数据库管理系统中专用的结构:数据库管理系统中专用的结构化查询语言。化查询语言。SQLSQL包含四部分包含四部分:数据查询语言数据查询语言:SELECTSELECT数据操纵语言数据操纵语言:INSERTINSERT、UPDATEUPDATE、DELETEDELET
21、E数据定义语言数据定义语言:CREATECREATE、ALTERALTER、DROPDROP数据控制语言数据控制语言:COMMIT WORKCOMMIT WORK、ROLLBACK WORKROLLBACK WORK2012.3.7 2012.3.7 微软正式发布微软正式发布SQL Server 2012,SQL Server 2012,此次版此次版本发布口号是本发布口号是大数据大数据来替代来替代云云的概念,微软对的概念,微软对SQL SQL Server 2012Server 2012的定位是帮助企业处理每年大量的数的定位是帮助企业处理每年大量的数据据(Z(Z级别级别) )增长。增长。 23程序设程序设计语言计语言本章小结网络编程语言:标记语言、网络编程语言:标记语言、WebWeb开发语言开发语言数据库查询语言:数据库查询语言:SQLSQL语言语言24