计算机科学导论第6章程序设计与算法分析.ppt
《计算机科学导论第6章程序设计与算法分析.ppt》由会员分享,可在线阅读,更多相关《计算机科学导论第6章程序设计与算法分析.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 1计算机科学导论第六章第六章 程序设计与程序设计与算法分析算法分析 2计算机科学导论本章要点本章要点初步了解程序设计的基础知识初步了解程序设计的基础知识掌握结构化程序设计和面向对象程序设计的基掌握结构化程序设计和面向对象程序设计的基本方法本方法掌握数据结构中的基本数据类型及其实现掌握数据结构中的基本数据类型及其实现掌握程序设计算法的基本思想及几种经典的算掌握程序设计算法的基本思想及几种经典的算法法 3计算机科学导论6.1.1 6.1.1 程序的概念程序的概念程序程序就是能够实现特定功能的一组指令序列的就是能够实现特定功能的一组指令序列的集合。集合。程序设计程序设计是程序员编写一系列可存储的指
2、令以是程序员编写一系列可存储的指令以指示计算机完成某些工作的过程。这些指令用指示计算机完成某些工作的过程。这些指令用程序设计语言写成。程序设计语言写成。程序设计语言程序设计语言是一组专门设计的用来生成一系是一组专门设计的用来生成一系列可被计算机处理和执行的指令的符号集合。列可被计算机处理和执行的指令的符号集合。程序设计人员用程序设计语言写成的指令称程序设计人员用程序设计语言写成的指令称作作代码代码。6.1 6.1 程序设计基础程序设计基础 4计算机科学导论6.1.2 6.1.2 计算机程序设计语言计算机程序设计语言分类:分类:低级语言、高级语言。低级语言、高级语言。1)低级语言包括两种类型:机
3、器语言和汇编语)低级语言包括两种类型:机器语言和汇编语言。言。2)高级语言又称为程序设计语言或算法语言。)高级语言又称为程序设计语言或算法语言。5计算机科学导论低级语言的特点低级语言的特点 都与特定的计算机硬件系统紧密相关,来自都与特定的计算机硬件系统紧密相关,来自于特定系统的指令系统,可移植性差;于特定系统的指令系统,可移植性差;专业知识要求高,要求对计算机硬件的结构专业知识要求高,要求对计算机硬件的结构和工作原理非常熟悉;和工作原理非常熟悉;每条指令的功能很单一,程序员编制源程序每条指令的功能很单一,程序员编制源程序时指令比较繁琐;时指令比较繁琐;由于直接针对特定硬件编程,所以,最终的由于
4、直接针对特定硬件编程,所以,最终的可执行程序代码精炼,而且执行效率非常高。可执行程序代码精炼,而且执行效率非常高。6计算机科学导论两者主要的区别在于:机器语言无需翻译或编两者主要的区别在于:机器语言无需翻译或编译,译,CPU能够直接识别和执行。而汇编语言必能够直接识别和执行。而汇编语言必须经过汇编才能得到目标程序。须经过汇编才能得到目标程序。7计算机科学导论高级语言的产生高级语言的产生所谓高级语言是一种由表达各种意义的所谓高级语言是一种由表达各种意义的“词词”和和“公式公式”,按照一定的,按照一定的“语法规则语法规则”来来编写程序的语言,又称为程序设计语言或算编写程序的语言,又称为程序设计语言
5、或算法语言。法语言。8计算机科学导论高级语言的常见类型高级语言的常见类型(1)BASIC语言语言(2)FORTRAN语言语言(3)COBOL语言语言(4)PASCAL语言语言(5)C语言语言(6)C+语言语言(7)其他高级语言其他高级语言基于视窗类操作系统的,如基于视窗类操作系统的,如Visual Basic、Visual C+、Delphi、Power Builder、Java等等。等等。9计算机科学导论高级语言的特点高级语言的特点优点:语句的功能强,源程序比较短,容易学优点:语句的功能强,源程序比较短,容易学习,使用方便,通用性较强,便于推广和交流。习,使用方便,通用性较强,便于推广和交流
6、。缺点:编译程序比汇编程序复杂,而且编译出缺点:编译程序比汇编程序复杂,而且编译出来的目标程序往往效率不高,目标程序的长度来的目标程序往往效率不高,目标程序的长度比有经验的程序员所编的同样功能的汇编语言比有经验的程序员所编的同样功能的汇编语言程序要长程序要长半以上,运行时间也要长一些。半以上,运行时间也要长一些。10计算机科学导论6.1.3 6.1.3 高级语言的基本内容高级语言的基本内容1 1高级语言的基本符号高级语言的基本符号高级语言都是由所谓的基本符号组成的。基本高级语言都是由所谓的基本符号组成的。基本符号可以分为单字符和多字符两种情况。单字符号可以分为单字符和多字符两种情况。单字符基本
7、符号由单个字符组成,在高级语言中通符基本符号由单个字符组成,在高级语言中通常都有下列几种单字符基本符号:常都有下列几种单字符基本符号:(1)字母字母大写英文字母大写英文字母AZ,小写英文字母,小写英文字母az,共,共52个符号。个符号。(2)数字数字09,共,共10个数字符号。个数字符号。11计算机科学导论(3)特殊字符特殊字符(加加),(减减),*(乘乘),/(除除),(乘方乘方),(等号等号),(左括号左括号),)(右括号右括号),(大于大于),(小于小于),(逗号逗号),(空格空格)等。等。在高级语言中的多字符基本符号由两个或两个在高级语言中的多字符基本符号由两个或两个以上的字符组成,例
8、如以上的字符组成,例如GoTo(转移转移)、(小小于或等于于或等于)、AND(与与)等等。等等。12计算机科学导论2 2高级语言的基本元素高级语言的基本元素基本元素由基本符号组成,可分为数、逻辑值、基本元素由基本符号组成,可分为数、逻辑值、名字、标号和字符串等五大类。名字、标号和字符串等五大类。(1)数数它由它由09共共10个基本数字和其他一些符号个基本数字和其他一些符号(如如小数点小数点“.”、正负号、正负号“、”及指数符号及指数符号“E”等所构成。等所构成。(2)逻辑值逻辑值由真由真(True)和假和假(False)两个值表示。两个值表示。13计算机科学导论(3)名字名字由字符组成,一般约
9、定名字的开头是字母或者由字符组成,一般约定名字的开头是字母或者下划线,其后可为字母或数字,如下划线,其后可为字母或数字,如XYZ、A123、_C等。名字可用来定义常量、变量、函等。名字可用来定义常量、变量、函数、过程或子程序的,也被用来定义成某些东数、过程或子程序的,也被用来定义成某些东西,故也称为标识符。在高级语言中,一般还西,故也称为标识符。在高级语言中,一般还规定了组成名字的字符的长度,即字符个数。规定了组成名字的字符的长度,即字符个数。(4)标号标号是在高级语言中的程序语句前所加的一个名字,是在高级语言中的程序语句前所加的一个名字,主要用来指示程序可能的转移方向。主要用来指示程序可能的
10、转移方向。14计算机科学导论(5)字符串字符串由一串字符所组成。在不同的高级语言中,字由一串字符所组成。在不同的高级语言中,字符串中的多个字符放在一对单引号或双引号中。符串中的多个字符放在一对单引号或双引号中。15计算机科学导论3 3基本的数据类型基本的数据类型基本的数据类型通常包括整数数据类型、实数基本的数据类型通常包括整数数据类型、实数数据类型和字符数据类型等。数据类型和字符数据类型等。变量必须先定义,然后才能使用,这是变量必须先定义,然后才能使用,这是条基条基本原则。本原则。变量实质上代表了一个特定大小的内存单元空变量实质上代表了一个特定大小的内存单元空间。间。16计算机科学导论4 4结
11、构数据类型结构数据类型(1)数组类型数组类型数组是若干个相同类型的数据的集合。数组是若干个相同类型的数据的集合。(2)用户自定义的结构体类型用户自定义的结构体类型结构体是隶属于同一个事物的多个不同类型的结构体是隶属于同一个事物的多个不同类型的数据的集合,用来表示具有若干个属性的一个数据的集合,用来表示具有若干个属性的一个事物。事物。17计算机科学导论5 5运算符与表达式运算符与表达式表达式是由基本符号、基本元素和各种数据表达式是由基本符号、基本元素和各种数据通过各种运算符连接而成的。通过各种运算符连接而成的。高级语言中的运算符大致包括以下几个方面:高级语言中的运算符大致包括以下几个方面:(1)
12、逻辑运算:逻辑运算:与、或、非、异或。与、或、非、异或。(2)算术运算:算术运算:加、减、乘、除、取模。加、减、乘、除、取模。(3)数据比较:数据比较:大于、小于、等于、不等于。大于、小于、等于、不等于。18计算机科学导论(4)数据传送;数据传送;输入、输出、赋值。输入、输出、赋值。(5)算术表达式:算术表达式:该表达式的运算结果是数,该表达式的运算结果是数,它非常近似于日常的数学公式。它非常近似于日常的数学公式。(6)关系运算表达式:关系运算表达式:该表达式的运算结果是该表达式的运算结果是逻辑值,常用的运算符包含逻辑值,常用的运算符包含(大于大于)、(小小于于)、(等于等于)、(小于等于小于
13、等于)、(大大于等于于等于)、不等于。、不等于。(7)字符串表达式:字符串表达式:该表达式的运算结果是字该表达式的运算结果是字符串。符串。19计算机科学导论6 6语句语句语句是构成高级语言源程序的基本单位,是由语句是构成高级语言源程序的基本单位,是由基本元素、运算符、表达式等组成。基本元素、运算符、表达式等组成。20计算机科学导论1010高级语言程序的运行高级语言程序的运行使用高级语言编制程序的一般过程可以归纳为以下几使用高级语言编制程序的一般过程可以归纳为以下几个步骤:个步骤:(1)使用文本编辑工具,逐条编写源程序的语句。存使用文本编辑工具,逐条编写源程序的语句。存储源程序文件时文件的后缀名
14、与所用的高级语言有关。储源程序文件时文件的后缀名与所用的高级语言有关。(2)编译源程序文件,生成目标文件,文件后缀名通编译源程序文件,生成目标文件,文件后缀名通常为常为obj。(3)链接目标文件,生成可执行文件,文件后缀名通链接目标文件,生成可执行文件,文件后缀名通常为常为exe。(4)在计算机上执行可执行程序文件,进在计算机上执行可执行程序文件,进步调试和步调试和维护。维护。21计算机科学导论6.2.1 6.2.1 结构化程序设计方法结构化程序设计方法 采用采用自顶向下、逐步求精自顶向下、逐步求精的设计方法和的设计方法和单入口单出口的控制结构。单入口单出口的控制结构。1.1.结构化程序设计思
15、想结构化程序设计思想 22计算机科学导论 23计算机科学导论结构化程序设计的结构化程序设计的原则原则是:是:(1)使用顺序、选择、循环使用顺序、选择、循环3种基本控制结构种基本控制结构表示程序逻辑。表示程序逻辑。(2)程序语句组织成容易识别的语句模块,每程序语句组织成容易识别的语句模块,每个模块都是单入口、单出口。个模块都是单入口、单出口。(3)严格控制严格控制GOTO语句的使用。语句的使用。24计算机科学导论(a)顺序结构顺序结构 (b)选择结构选择结构 (c)while循环循环 (d)do-while循环循环 25计算机科学导论2 2模块模块一个复杂的问题可以划分为多个简单问题的组一个复杂
16、的问题可以划分为多个简单问题的组合。合。在自顶向下、逐步细化的过程中,把复杂问题在自顶向下、逐步细化的过程中,把复杂问题分解成一个个简单问题的最基本方法就是模块分解成一个个简单问题的最基本方法就是模块化。化。模块化便于问题的分析,模块体现了信息隐藏模块化便于问题的分析,模块体现了信息隐藏的概念。模块常用子程序加以实现。的概念。模块常用子程序加以实现。26计算机科学导论1 1面向对象的思想面向对象的思想OO(Object Oriented,面向对象,面向对象)的程序设计把的程序设计把客观事物看作具有属性和行为的对象,通过抽客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性象找出同
17、一类对象的共同属性(静态特征静态特征)和行和行为为(动态特征动态特征),形成类。,形成类。6.2.2 6.2.2 面向对象的程序设计方法面向对象的程序设计方法 27计算机科学导论2 2对象和类对象和类对象对象 是基本的实体,既包括数据(属性),也是基本的实体,既包括数据(属性),也包括作用于数据之上的操作(方法或函数)。包括作用于数据之上的操作(方法或函数)。类类 定义了一组大体上相似的对象。一个类所定义了一组大体上相似的对象。一个类所包含的方法和数据描述一组对象的共同行为和包含的方法和数据描述一组对象的共同行为和属性。属性。对象则是类的具体化,是类的实例。对象则是类的具体化,是类的实例。28
18、计算机科学导论3 3抽象抽象抽象抽象 是对具体事物是对具体事物(即对象即对象)进行概括,即忽略进行概括,即忽略事物的非本质特征,只注意那些与当前目标有事物的非本质特征,只注意那些与当前目标有关的本质特征,从而抽象出一类对象的共性并关的本质特征,从而抽象出一类对象的共性并加以描述。加以描述。29计算机科学导论4 4封装性封装性封装的两个含义封装的两个含义:第一是,将抽象得到的数据成员和代码成第一是,将抽象得到的数据成员和代码成员相结合,形成一个不可分割的整体,即对象,员相结合,形成一个不可分割的整体,即对象,这种数据及行为的有机结合也就是封装。这种数据及行为的有机结合也就是封装。第二个含义称为信
19、息隐蔽,即尽可能隐蔽第二个含义称为信息隐蔽,即尽可能隐蔽对象的内部细节。对象的内部细节。30计算机科学导论5 5继承性继承性继承性继承性 是父类和子类之间共享数据和方法的机是父类和子类之间共享数据和方法的机制。制。原有的类称为原有的类称为基类基类或或父类父类,产生的新类,产生的新类称为称为派生类派生类。31计算机科学导论6 6多态性多态性多态性多态性 在收到外部消息时,对象通常要予以响在收到外部消息时,对象通常要予以响应。不同的对象收到同一消息可能产生完全应。不同的对象收到同一消息可能产生完全不同的结果。不同的结果。32计算机科学导论1 1数据、数据类型数据、数据类型数据数据 是对客观事物的符
20、号表示。是对客观事物的符号表示。数据类型数据类型 是指具有相同取值范围和可以实施同种操作的数是指具有相同取值范围和可以实施同种操作的数据的集合的总称。据的集合的总称。6.3.1 6.3.1 基本概念基本概念6.3 6.3 数据结构数据结构 33计算机科学导论2 2数据元素、数据项、数据对象数据元素、数据项、数据对象能够独立并完整地描述客观世界实体的基本数能够独立并完整地描述客观世界实体的基本数据单元称为据单元称为数据元素数据元素,它是组成数据的基本单,它是组成数据的基本单位。位。数据项数据项是组成数据元素的不可分割的最小单是组成数据元素的不可分割的最小单位。最简单的数据元素就是由一个数据项构成
21、位。最简单的数据元素就是由一个数据项构成的。的。同类数据元素的集合称为同类数据元素的集合称为数据对象数据对象。34计算机科学导论3 3数据结构数据结构数据结构数据结构 是指数据元素之间的相互关系的集合,包是指数据元素之间的相互关系的集合,包括了数据的逻辑结构、物理结构以及数据的运括了数据的逻辑结构、物理结构以及数据的运算。算。35计算机科学导论数据的逻辑结构数据的逻辑结构 数据的逻辑结构是指数据元素之间的逻辑数据的逻辑结构是指数据元素之间的逻辑关系。数据之间可以根据不同的关系组成不同关系。数据之间可以根据不同的关系组成不同的数据结构。的数据结构。(2)数据的物理结构数据的物理结构 数据的物理结
22、构是指逻辑结构在计算机存数据的物理结构是指逻辑结构在计算机存储器中的表示。数据的物理结构不仅要存储数储器中的表示。数据的物理结构不仅要存储数据本身,还要存储表示数据间的逻辑关系。据本身,还要存储表示数据间的逻辑关系。36计算机科学导论顺序结构顺序结构 把所有元素存放在一片连续的存储单元中,把所有元素存放在一片连续的存储单元中,逻辑上相邻的元素存储在物理位置相邻的存储逻辑上相邻的元素存储在物理位置相邻的存储单元中,由此得到的存储表示称为顺序存储结单元中,由此得到的存储表示称为顺序存储结构。构。顺序存储结构常借助于程序设计语言中的顺序存储结构常借助于程序设计语言中的数组来实现。优点是使用方法简单,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机科学 导论 章程 设计 算法 分析
限制150内