算法与程序设计基础.ppt

上传人:m**** 文档编号:570118613 上传时间:2024-08-02 格式:PPT 页数:41 大小:365.50KB
返回 下载 相关 举报
算法与程序设计基础.ppt_第1页
第1页 / 共41页
算法与程序设计基础.ppt_第2页
第2页 / 共41页
算法与程序设计基础.ppt_第3页
第3页 / 共41页
算法与程序设计基础.ppt_第4页
第4页 / 共41页
算法与程序设计基础.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《算法与程序设计基础.ppt》由会员分享,可在线阅读,更多相关《算法与程序设计基础.ppt(41页珍藏版)》请在金锄头文库上搜索。

1、第第2 2章章 算法与程序设计基础算法与程序设计基础2.1 2.1 算法算法2.2 2.2 程序设计方法与风格程序设计方法与风格2.3 2.3 结构化程序设计结构化程序设计2.4 2.4 面向对象的程序设计面向对象的程序设计2.5 2.5 小结小结2.1 2.1 算法算法2.2.1 2.2.1 算法的基本概念算法的基本概念2.2.2 2.2.2 算法的复杂度算法的复杂度 2.1.1 2.1.1 算法的基本概念算法的基本概念1 1算法的定义算法的定义 算法算法算法算法是指对解题方案的准确而完整的描述,即解决问题的操作步骤。 算法不等于不等于不等于不等于数学上的计算方法计算方法计算方法计算方法,也

2、不等于程序不等于程序不等于程序不等于程序。 在用计算机解决实际问题时解决实际问题时解决实际问题时解决实际问题时,往往先设计算法先设计算法先设计算法先设计算法,然后然后然后然后再用具体的程序设计语言描述此算法(即编程编程编程编程)。 在编程时,由于要受到计算机系统运行环境的限制,程序的编制通常不能优于算法的设计程序的编制通常不能优于算法的设计程序的编制通常不能优于算法的设计程序的编制通常不能优于算法的设计。2 2算法的基本特征算法的基本特征可行性可行性确定性确定性有穷性有穷性 拥有足够的情报拥有足够的情报 操作步骤为有限个,操作步骤为有限个,操作步骤为有限个,操作步骤为有限个,每个步骤都能在有限

3、时间内完成。每个步骤都能在有限时间内完成。每个步骤都能在有限时间内完成。每个步骤都能在有限时间内完成。算法执行应当能够得出满意的结果,算法执行应当能够得出满意的结果,算法执行应当能够得出满意的结果,算法执行应当能够得出满意的结果,即必须有一个或多个输出。即必须有一个或多个输出。即必须有一个或多个输出。即必须有一个或多个输出。对算法中每一步的描述都是明确的,没有多义性,对算法中每一步的描述都是明确的,没有多义性,对算法中每一步的描述都是明确的,没有多义性,对算法中每一步的描述都是明确的,没有多义性,只要输入相同,初始状态相同,则无论执行多少遍,所得的结果都应该相同。只要输入相同,初始状态相同,则

4、无论执行多少遍,所得的结果都应该相同。只要输入相同,初始状态相同,则无论执行多少遍,所得的结果都应该相同。只要输入相同,初始状态相同,则无论执行多少遍,所得的结果都应该相同。算法在拥有足够的输入信息和初始化信息时,算法在拥有足够的输入信息和初始化信息时,算法在拥有足够的输入信息和初始化信息时,算法在拥有足够的输入信息和初始化信息时,才是有效的。才是有效的。才是有效的。才是有效的。3. 3. 算法的基本要素算法的基本要素算法的功能取决于两个方面因素: 选用的操作选用的操作选用的操作选用的操作和各个操作之间的顺序各个操作之间的顺序各个操作之间的顺序各个操作之间的顺序一个算法通常由两种基本要素两种基

5、本要素两种基本要素两种基本要素组成 对数据对象的运算和操作对数据对象的运算和操作对数据对象的运算和操作对数据对象的运算和操作算法的控制结构算法的控制结构算法的控制结构算法的控制结构,即运算或操作间的顺序。,即运算或操作间的顺序。4 4类基本的运算和操作类基本的运算和操作 运算类型运算类型运算类型运算类型操操操操 作作作作例例例例 子子子子算术运算算术运算算术运算算术运算+ +、2+32+3、8 82 2 逻辑运算逻辑运算逻辑运算逻辑运算与()、或(与()、或(| | |)、)、非(!)非(!)!1 1、1| |01| |0、1&11&1关系运算关系运算关系运算关系运算 、 bab、a=ca=c

6、、bcbc数据传输数据传输数据传输数据传输赋值、输入、输出赋值、输入、输出A=0A=0、b=3b=3算法的控制结构算法的控制结构 算法的控制结构是算法中各个操作之间的执行顺序各个操作之间的执行顺序各个操作之间的执行顺序各个操作之间的执行顺序。算法算法算法算法一般由顺序由顺序由顺序由顺序、选择选择选择选择(又称分支)和循环循环循环循环(又称重复)3 3 3 3种基本结构组合而成种基本结构组合而成种基本结构组合而成种基本结构组合而成。描述算法的工具描述算法的工具描述算法的工具描述算法的工具有传统的流程图传统的流程图传统的流程图传统的流程图、N-SN-SN-SN-S结构化流程图结构化流程图结构化流程

7、图结构化流程图和算法描述语言算法描述语言算法描述语言算法描述语言等。顺序结构流程图顺序结构流程图 A B图中图中A A和和B B两个框是顺序执行的,两个框是顺序执行的,即在执行完即在执行完A A框所指定的操作后,框所指定的操作后,必然接着执行必然接着执行B B框所指定的操作。框所指定的操作。顺序结构是最简单的一种基本结构顺序结构是最简单的一种基本结构顺序结构是最简单的一种基本结构顺序结构是最简单的一种基本结构选择结构流程图选择结构流程图 选择结构根据给定的条件P是否成立而选择执行A框或B框。无论P条件是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框。无论走哪一条路径,在执行完A或B

8、之后,都脱离本选择结构。A或B两个框中可以有一个是空的,即不执行任何操作 。ABPPA当型(当型(WhileWhile型)循环结构的流程图型)循环结构的流程图 当型循环结构的功能是当给当型循环结构的功能是当给定的条件定的条件P成立时,执行成立时,执行A框操作,执行完框操作,执行完A后,再判后,再判断条件断条件P是否成立,如果仍是否成立,如果仍然成立,再执行然成立,再执行A框,如此框,如此反复执行反复执行A框,直到某一次框,直到某一次P条件不成立为止,此时不条件不成立为止,此时不执行执行A框,脱离本循环结构框,脱离本循环结构直到型(直到型(UntilUntil型)循环结构型)循环结构 直到型循环

9、结构的功能是先直到型循环结构的功能是先执行执行A框,然后判断给定的框,然后判断给定的P条件是否成立,如果条件是否成立,如果P条条件不成立,则再执行件不成立,则再执行A,然,然后再对后再对P条件进行判断,如条件进行判断,如果果P条件仍然不成立,又执条件仍然不成立,又执行行A,如此反复执行,如此反复执行A,直,直到给定的到给定的P条件成立为止,条件成立为止,此时不再执行此时不再执行A,脱离本循,脱离本循环结构。环结构。 三种结构的三种结构的N-SN-S结构化流程图结构化流程图顺序结构的顺序结构的N-S图图 选择结构的选择结构的N-S图图当型循环结构当型循环结构 直到型循环结构直到型循环结构 P成立

10、 不成立 A B 当p成立 A A 直到p成立4.4.算法基本设计方法算法基本设计方法 常用的几种算法设计方法有列举法列举法列举法列举法、递推法递推法递推法递推法、递归递归递归递归法法法法、贪婪法贪婪法贪婪法贪婪法、分治法分治法分治法分治法和动态规划法动态规划法动态规划法动态规划法等。2.1.2 2.1.2 算法的复杂度算法的复杂度一个算法算法算法算法的质量质量质量质量可以用算法用算法用算法用算法的复杂度来衡量复杂度来衡量复杂度来衡量复杂度来衡量。算法的复杂度包括算法的复杂度包括算法的复杂度包括算法的复杂度包括算法的时间复杂度时间复杂度时间复杂度时间复杂度和算法的空间空间空间空间复杂度复杂度复

11、杂度复杂度两种。1 1算法的时间复杂度算法的时间复杂度算法的时间复杂算法的时间复杂算法的时间复杂算法的时间复杂度是指执行算法所需要计算工作量执行算法所需要计算工作量执行算法所需要计算工作量执行算法所需要计算工作量。 算法执行程序的具体时间和具体时间和具体时间和具体时间和算法的时间复杂度并不是时间复杂度并不是时间复杂度并不是时间复杂度并不是一致的一致的一致的一致的。算法的计算工作量是算法的计算工作量是算法的计算工作量是算法的计算工作量是用算法所执行的基本运算次数来用算法所执行的基本运算次数来用算法所执行的基本运算次数来用算法所执行的基本运算次数来度量的度量的度量的度量的,而算法所执行的基本运算次

12、数是所要解决的问题的规模(通常用整数n表示)的函数算法的工作量 = f (n) ,其中整数n表示要解决的问题的规模。算法的时间复杂度举例算法的时间复杂度举例第一个程序段如下:第一个程序段如下: x+x+;s=0s=0在这个程序段中,基本运算“x+”只执行了一执行了一次次这个程序段的时间复杂度时间复杂度为O(1)O(1) 。算法的时间复杂度举例算法的时间复杂度举例第二个程序段如下:第二个程序段如下: forforforfor(i=1i=1i=1i=1;i=ni=ni=ni=n;i+i+i+i+) x+ x+ x+ x+;s+=xs+=xs+=xs+=x; /* 一个简单的for循环,循环体内操作

13、执行了n次 */在这个程序段中,由于有一个循环,所以基本运算“x+”执行了执行了执行了执行了n n n n次次次次。这个程序段的时间复杂度时间复杂度时间复杂度时间复杂度为O(nO(n) )。算法的时间复杂度举例算法的时间复杂度举例第三个程序段如下:第三个程序段如下:第三个程序段如下:第三个程序段如下: forforforfor(i=1i=1i=1i=1;i=ni=ni=ni=n;i+i+i+i+) for for for for(j=1j=1j=1j=1;j=nj=nj=nj=n;j+j+j+j+) x+x+x+x+;s+=xs+=xs+=xs+=x; /* /* 嵌套的双层嵌套的双层forf

14、or循环,循环体内操作执行了循环,循环体内操作执行了n n2 2次次 * */ /在这个程序段中,是一个嵌套的双层循环,所以基本在这个程序段中,是一个嵌套的双层循环,所以基本运算运算“x+”x+”执行了执行了执行了执行了n n n n2 2 2 2次次次次。这个程序段的时间复杂度这个程序段的时间复杂度O(nO(nO(nO(n2 2 2 2) ) ) )。2 2算法的空间复杂度算法的空间复杂度算法的空间复杂度算法的空间复杂度算法的空间复杂度算法的空间复杂度是指执行执行执行执行这个算法所需要的内存空算法所需要的内存空算法所需要的内存空算法所需要的内存空间间间间。算法执行期间所需要的存储空间包括3部

15、分: 输入数据所占输入数据所占输入数据所占输入数据所占的存储空间、 程序本身所占程序本身所占程序本身所占程序本身所占的存储空间、 算法执行过程中算法执行过程中算法执行过程中算法执行过程中所需要的额外空间。2.2 2.2 程序设计方法与风格程序设计方法与风格程序设计程序设计程序设计程序设计是指设计设计设计设计、编制编制编制编制、调试程序调试程序调试程序调试程序的方法和过程方法和过程方法和过程方法和过程。程序设计并不等同于并不等同于并不等同于并不等同于通常意义上的编程编程编程编程。 优先考虑清晰性,效率第二优先考虑清晰性,效率第二优先考虑清晰性,效率第二优先考虑清晰性,效率第二 程序的质量程序的质

16、量程序的质量程序的质量主要受到受到受到受到程序设计方法设计方法设计方法设计方法、技术技术技术技术和程序设计设计设计设计风格风格风格风格等因素的影响影响影响影响。本节主要介绍程序设计风格(也可看成程序设计时应遵循的一组规范) 程序设计由多个步骤组成,编程只程序设计由多个步骤组成,编程只程序设计由多个步骤组成,编程只程序设计由多个步骤组成,编程只是程序设计整个过程中的一小步。是程序设计整个过程中的一小步。是程序设计整个过程中的一小步。是程序设计整个过程中的一小步。(1) (1) 下列叙述中,不符合良好程序设计风格要求的是下列叙述中,不符合良好程序设计风格要求的是 ( (A A) ) A) A) 程

17、序的效率第一,清晰第二程序的效率第一,清晰第二 B) B) 程序的可读性好程序的可读性好 C) C) 程序中要有必要的注释程序中要有必要的注释 D) D) 输入数据前要有提示信息输入数据前要有提示信息(2) (2) 结构化程序设计主要强调的是结构化程序设计主要强调的是 ( (B B) ) A) A) 程序的规模程序的规模 B) B) 程序的易读性程序的易读性 C) C) 程序的执行效率程序的执行效率 D) D) 程序的可移植性程序的可移植性(3) (3) 在设计程序时,应采纳的原则之一是在设计程序时,应采纳的原则之一是 ( (A A) ) A) A) 程序结构应有助于读者理解程序结构应有助于读

18、者理解 B) B) 不限制不限制gotogoto语句的使用语句的使用 C) C) 减少或取消注解行减少或取消注解行 D) D) 程序越短越好程序越短越好程序设计规范程序设计规范 源程序文档化源程序文档化 数据说明的方法数据说明的方法 语句的结构语句的结构 输入和输出输入和输出源程序源程序源程序源程序文档化文档化文档化文档化语句的语句的语句的语句的结构结构结构结构程序设计规范程序设计规范程序设计规范程序设计规范数据说明数据说明数据说明数据说明的方法的方法的方法的方法输入和输入和输入和输入和输出输出输出输出1 1源程序文档化源程序文档化源程序文档化源程序文档化源程序文档化源程序文档化是指在源程序中

19、可包含一些内部文档内部文档内部文档内部文档,以帮助阅读和理解源程序帮助阅读和理解源程序帮助阅读和理解源程序帮助阅读和理解源程序。对源程序文档化的过程中,应考虑 符号名的命名符号名的命名符号名的命名符号名的命名、程序注释程序注释程序注释程序注释、视觉组织等视觉组织等视觉组织等视觉组织等问题。命名应具有一命名应具有一命名应具有一命名应具有一定的实际含义定的实际含义定的实际含义定的实际含义在程序中添加一些空在程序中添加一些空在程序中添加一些空在程序中添加一些空格、空行和缩进等,格、空行和缩进等,格、空行和缩进等,格、空行和缩进等,使人们在视觉上对程使人们在视觉上对程使人们在视觉上对程使人们在视觉上对

20、程序的结构一目了然。序的结构一目了然。序的结构一目了然。序的结构一目了然。程序注释程序注释在源程序中添加正确的注释可以帮助理解程序可以帮助理解程序可以帮助理解程序可以帮助理解程序。程序注释注释注释注释可以分为分为分为分为序言行注释序言行注释序言行注释序言行注释和功能性注释功能性注释功能性注释功能性注释。序言性注释序言性注释序言性注释序言性注释位于位于位于位于程序的起始部分起始部分起始部分起始部分,说明整个程序模块说明整个程序模块说明整个程序模块说明整个程序模块的功能的功能的功能的功能。功能性注释功能性注释功能性注释功能性注释一般嵌套在源程序嵌套在源程序嵌套在源程序嵌套在源程序语句内内内内,主要

21、描述相关描述相关描述相关描述相关语句或程序段的功能语句或程序段的功能语句或程序段的功能语句或程序段的功能。 2 2数据说明的方法数据说明的方法 为使程序中的数据说明易于理解和维护数据说明易于理解和维护数据说明易于理解和维护数据说明易于理解和维护,可采用次序应规范化、变量安排有序化和使用注释等数据说明风格。3 3语句的结构语句的结构 为使程序简单易懂,语句构造语句构造语句构造语句构造应该简单直接简单直接简单直接简单直接,每条语句都能直截了当地反映程序员的意图,不能为了提高效率而把语句复杂化。 4 4输入和输出输入和输出 设计好的程序能否被用户接受,往往取决于输入和 输出的风格。输入和输出的方式和

22、格式应尽量友好尽量友好尽量友好尽量友好,方方方方 便用户使用便用户使用便用户使用便用户使用。2.3 2.3 结构化程序设计结构化程序设计2.3.1 2.3.1 结构化程序设计方法的重要原则结构化程序设计方法的重要原则2.3.2 2.3.2 结构化程序的基本结构与特点结构化程序的基本结构与特点2.3.3 2.3.3 结构化程序设计的注意事项结构化程序设计的注意事项2.3.1 2.3.1 结构化程序设计方法的重要原则结构化程序设计方法的重要原则结构化程序设计方法的结构化程序设计方法的重要原则重要原则是:是: 自顶向下自顶向下自顶向下自顶向下 逐步求精逐步求精逐步求精逐步求精 模块化模块化模块化模块

23、化 限制使用限制使用限制使用限制使用gotogotogotogoto语句语句语句语句程序设计时,应先考虑总体,后考虑细节;程序设计时,应先考虑总体,后考虑细节;程序设计时,应先考虑总体,后考虑细节;程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。先考虑全局目标,后考虑局部目标。先考虑全局目标,后考虑局部目标。先考虑全局目标,后考虑局部目标。对复杂问题,应设计一些子目标做过渡,对复杂问题,应设计一些子目标做过渡,对复杂问题,应设计一些子目标做过渡,对复杂问题,应设计一些子目标做过渡,逐步细化。逐步细化。逐步细化。逐步细化。模块化就是把程序要解决的总目标分解为分目标,模块化就

24、是把程序要解决的总目标分解为分目标,模块化就是把程序要解决的总目标分解为分目标,模块化就是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,再进一步分解为具体的小目标,再进一步分解为具体的小目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。把每个小目标称为一个模块。把每个小目标称为一个模块。把每个小目标称为一个模块。程序中大量使用程序中大量使用程序中大量使用程序中大量使用gotogoto语句,会导致程序结构的混乱,语句,会导致程序结构的混乱,语句,会导致程序结构的混乱,语句,会导致程序结构的混乱,滥用滥用滥用滥用gotogoto语句对程序结构有害,应尽量避免使用。语句对程

25、序结构有害,应尽量避免使用。语句对程序结构有害,应尽量避免使用。语句对程序结构有害,应尽量避免使用。2.3.2 2.3.2 结构化程序的基本结构与特点结构化程序的基本结构与特点1 1 1 1顺序结构顺序结构顺序结构顺序结构按照程序语句行的先后顺序,一条语句接着按照程序语句行的先后顺序,一条语句接着按照程序语句行的先后顺序,一条语句接着按照程序语句行的先后顺序,一条语句接着一条语句地执行程序。一条语句地执行程序。一条语句地执行程序。一条语句地执行程序。2 2 2 2选择结构选择结构选择结构选择结构选择结构又称分支结构选择结构又称分支结构选择结构又称分支结构选择结构又称分支结构, , , ,包括简

26、单选择和多分支选择结构包括简单选择和多分支选择结构包括简单选择和多分支选择结构包括简单选择和多分支选择结构, , , ,可根据条件,判断应该选择哪一条分支来执行相应的语句序列。可根据条件,判断应该选择哪一条分支来执行相应的语句序列。可根据条件,判断应该选择哪一条分支来执行相应的语句序列。可根据条件,判断应该选择哪一条分支来执行相应的语句序列。 3 3 3 3重复结构重复结构重复结构重复结构重复结构又称循环结构,重复结构又称循环结构,重复结构又称循环结构,重复结构又称循环结构,可根据给定条件,判断是否需要重复执行某一相同或类似的程序可根据给定条件,判断是否需要重复执行某一相同或类似的程序可根据给

27、定条件,判断是否需要重复执行某一相同或类似的程序可根据给定条件,判断是否需要重复执行某一相同或类似的程序段,该程序段称为循环体段,该程序段称为循环体段,该程序段称为循环体段,该程序段称为循环体; ; ; ;利用重复结构可以大量简化程序行利用重复结构可以大量简化程序行利用重复结构可以大量简化程序行利用重复结构可以大量简化程序行; ; ; ;主要有两类循环结构,它们是当(主要有两类循环结构,它们是当(主要有两类循环结构,它们是当(主要有两类循环结构,它们是当(WHILEWHILEWHILEWHILE)型循环结构和直到)型循环结构和直到)型循环结构和直到)型循环结构和直到(UNTILUNTILUNT

28、ILUNTIL)型循环结构。)型循环结构。)型循环结构。)型循环结构。(1)(1)(1)(1)下面描述中,符合结构化程序设计风格的是下面描述中,符合结构化程序设计风格的是下面描述中,符合结构化程序设计风格的是下面描述中,符合结构化程序设计风格的是 ( ( ( (A A A A) ) ) )A)A)A)A)使用顺序、选择和重复(循环)三种基本控制结构表示程序使用顺序、选择和重复(循环)三种基本控制结构表示程序使用顺序、选择和重复(循环)三种基本控制结构表示程序使用顺序、选择和重复(循环)三种基本控制结构表示程序 (2)(2)(2)(2) 的控制逻辑的控制逻辑的控制逻辑的控制逻辑 (3)(3)(3

29、)(3) B)B)B)B)模块只有一个入口,可以有多个出口模块只有一个入口,可以有多个出口模块只有一个入口,可以有多个出口模块只有一个入口,可以有多个出口 (4)(4)(4)(4) C)C)C)C)注重提高程序的执行效率注重提高程序的执行效率注重提高程序的执行效率注重提高程序的执行效率(5)(5)(5)(5) D)D)D)D)不使用不使用不使用不使用gotogotogotogoto语句语句语句语句(2)(2)(2)(2)结构化程序设计方法的主要原则可以概括为自顶向下、逐步求结构化程序设计方法的主要原则可以概括为自顶向下、逐步求结构化程序设计方法的主要原则可以概括为自顶向下、逐步求结构化程序设计

30、方法的主要原则可以概括为自顶向下、逐步求 精、精、精、精、_和限制使用和限制使用和限制使用和限制使用gotogotogotogoto语句。语句。语句。语句。答:答:答:答:模块化模块化模块化模块化(3)(3)(3)(3)结构化程序所要求的基本结构不包括结构化程序所要求的基本结构不包括结构化程序所要求的基本结构不包括结构化程序所要求的基本结构不包括 ( ( ( (B B B B) ) ) ) A) A) A) A) 顺序结构顺序结构顺序结构顺序结构 B) GOTOB) GOTOB) GOTOB) GOTO跳转跳转跳转跳转 C) C) C) C) 选择(分支)结构选择(分支)结构选择(分支)结构选

31、择(分支)结构 D) D) D) D) 重复(循环)结构重复(循环)结构重复(循环)结构重复(循环)结构2.3.3 2.3.3 结构化程序设计的注意事项结构化程序设计的注意事项 使用程序设计语言中的三种控制结构表示程序的控使用程序设计语言中的三种控制结构表示程序的控制制逻辑逻辑 选用的控制结构只允许有一个入口和一个出口选用的控制结构只允许有一个入口和一个出口 复杂结构应该用嵌套的基本控制结构进行组合嵌套来复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现实现 语言中所有没有的控制结构,应该采用前后一致的方语言中所有没有的控制结构,应该采用前后一致的方法来模拟法来模拟 严格控制严格控制gotog

32、oto语句的使用。语句的使用。 2.4 2.4 面向对象的程序设计面向对象的程序设计2.4.1 2.4.1 面向对象方法的基本概念面向对象方法的基本概念2.4.2 2.4.2 面向对象方法的优点面向对象方法的优点2.4.1 2.4.1 面向对象方法的基本概念面向对象方法的基本概念1 1对象(对象(ObjectObject)对象对象对象对象是面向对象方法中最基本的概念,它可以用来表示客观世界中客观世界中客观世界中客观世界中的任何实体任何实体任何实体任何实体。例:书本,课桌,老师,学生等 2 2类和实例类和实例 类类类类是具有共同属性、共同方法的对象的集合具有共同属性、共同方法的对象的集合具有共同

33、属性、共同方法的对象的集合具有共同属性、共同方法的对象的集合,是关于对象的抽象描述,它描述了属于该对象类型的所有对象的性质。 例:教师类(类) 教师(实例) 任何一个具体对象都是该对象所属类的一个具体实例,即一个对象是其对应类的一个实例。 3 3消息消息消息消息消息消息是一个实例与另一个实例之间传递的信息。它统一了数据流和控制流;一个对象通过向另一个对象发送消息来请求其服务;消息只包含传递者的要求,它告诉接受者需要做哪些处理,并不指示接受者怎样去完成这些处理。4 4继承继承 继承继承继承继承是指能够直接获得已有的性质和特征,而不必重复地定义它们。 继承具有传递性继承具有传递性继承具有传递性继承

34、具有传递性,如果类Z继承类Y,类Y继承类X,则类Z继承类X。 一个类继承它上层的全部基类的特性5 5多态性多态性 对象根据所接收的信息而做出动作,同样的消息被同样的消息被同样的消息被同样的消息被不同的对象接收时可导致完全不同的行为不同的对象接收时可导致完全不同的行为不同的对象接收时可导致完全不同的行为不同的对象接收时可导致完全不同的行为,该现象称为多态性。(1)(1)(1)(1)下面概念中,不属于面向对象方法的是下面概念中,不属于面向对象方法的是下面概念中,不属于面向对象方法的是下面概念中,不属于面向对象方法的是 ( ( ( (D D D D) ) ) ) A) A) A) A)对象对象对象对

35、象 B)B)B)B)继承继承继承继承 C)C)C)C)类类类类 D)D)D)D)过程调用过程调用过程调用过程调用(2)(2)(2)(2)在面向对象方法中,一个对象请求另一对象为其服务的方式是在面向对象方法中,一个对象请求另一对象为其服务的方式是在面向对象方法中,一个对象请求另一对象为其服务的方式是在面向对象方法中,一个对象请求另一对象为其服务的方式是 通过发送通过发送通过发送通过发送 ( ( ( (D D D D) ) ) ) A) A) A) A) 调用语句调用语句调用语句调用语句 B)B)B)B)命令命令命令命令 C)C)C)C)口令口令口令口令 D) D) D) D) 消息消息消息消息(

36、3)(3)(3)(3)下面对对象概念描述错误的是下面对对象概念描述错误的是下面对对象概念描述错误的是下面对对象概念描述错误的是( ( ( (A A A A) ) ) ) A) A) A) A) 任何对象都必须有继承性任何对象都必须有继承性任何对象都必须有继承性任何对象都必须有继承性 B) B) B) B) 对象是属性和方法的封装体对象是属性和方法的封装体对象是属性和方法的封装体对象是属性和方法的封装体 C) C) C) C) 对象间的通讯靠消息传递对象间的通讯靠消息传递对象间的通讯靠消息传递对象间的通讯靠消息传递 D) D) D) D) 操作是对象的动态性属性操作是对象的动态性属性操作是对象的

37、动态性属性操作是对象的动态性属性(4)(4)(4)(4)下列选项中属于面向对象设计方法主要特征的是下列选项中属于面向对象设计方法主要特征的是下列选项中属于面向对象设计方法主要特征的是下列选项中属于面向对象设计方法主要特征的是( ( ( (A A A A) ) ) ) A) A) A) A) 继承继承继承继承 B) B) B) B) 自顶向下自顶向下自顶向下自顶向下C) C) C) C) 模块化模块化模块化模块化 D) D) D) D) 逐步求精逐步求精逐步求精逐步求精2.4.2 2.4.2 面向对象方法的优点面向对象方法的优点 与人类习惯的思维方法一致与人类习惯的思维方法一致 稳定性好稳定性好 可重用性好可重用性好 易于开发大型软件产品易于开发大型软件产品 可维护性好可维护性好2.5 2.5 小结小结 本章主要介绍了算法的基本概念和程序设计的方法。算法部分主要讲解了算法的基本定义、基本特征、基本要素以及算法的时间复杂度和空间复杂度。程序设计部分主要讲解了程序设计方法与风格,详细介绍了结构化程序设计的主要原则和结构化程序设计的三种结构,然后详细介绍了面向对象方法的基本概念,包括对象、类、消息、继承和多态性等。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号