算法与程序设计基础PPT.ppt

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

《算法与程序设计基础PPT.ppt》由会员分享,可在线阅读,更多相关《算法与程序设计基础PPT.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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类基本的运算和操作类基本的运算和操作 运算类型运算类型运算类型运算类型操操操操 作作作作例例例例 子子子子算术运算算术

6、运算算术运算算术运算+、2+32+3、8 82 2 逻辑运算逻辑运算逻辑运算逻辑运算与()、或(与()、或(|)、)、非(!)非(!)!1 1、1|01|0、1&11&1关系运算关系运算关系运算关系运算、bab、a=ca=c、bcbc数据传输数据传输数据传输数据传输赋值、输入、输出赋值、输入、输出A=0A=0、b=3b=3数据库系统概论数据库系统概论国脉信息学院国脉信息学院算法的控制结构算法的控制结构 算法的控制结构是算法中各个操作之间的执行顺序各个操作之间的执行顺序各个操作之间的执行顺序各个操作之间的执行顺序。算法算法算法算法一般由顺序由顺序由顺序由顺序、选择选择选择选择(又称分支)和循环循

7、环循环循环(又称重复)3 3 3 3种基本结构组合而成种基本结构组合而成种基本结构组合而成种基本结构组合而成。描述算法的工具描述算法的工具描述算法的工具描述算法的工具有传统的流程图传统的流程图传统的流程图传统的流程图、N-SN-SN-SN-S结构化流程图结构化流程图结构化流程图结构化流程图和算法描述语言算法描述语言算法描述语言算法描述语言等。数据库系统概论数据库系统概论国脉信息学院国脉信息学院顺序结构流程图顺序结构流程图 A B图中图中A A和和B B两个框是顺序执行的,两个框是顺序执行的,即在执行完即在执行完A A框所指定的操作后,框所指定的操作后,必然接着执行必然接着执行B B框所指定的操

8、作。框所指定的操作。顺序结构是最简单的一种基本结构顺序结构是最简单的一种基本结构顺序结构是最简单的一种基本结构顺序结构是最简单的一种基本结构数据库系统概论数据库系统概论国脉信息学院国脉信息学院选择结构流程图选择结构流程图 选择结构根据给定的条件P是否成立而选择执行A框或B框。无论P条件是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框。无论走哪一条路径,在执行完A或B之后,都脱离本选择结构。A或B两个框中可以有一个是空的,即不执行任何操作。ABPPA数据库系统概论数据库系统概论国脉信息学院国脉信息学院当型(当型(WhileWhile型)循环结构的流程图型)循环结构的流程图 当型循环结

9、构的功能是当给当型循环结构的功能是当给定的条件定的条件P成立时,执行成立时,执行A框操作,执行完框操作,执行完A后,再判后,再判断条件断条件P是否成立,如果仍是否成立,如果仍然成立,再执行然成立,再执行A框,如此框,如此反复执行反复执行A框,直到某一次框,直到某一次P条件不成立为止,此时不条件不成立为止,此时不执行执行A框,脱离本循环结构框,脱离本循环结构数据库系统概论数据库系统概论国脉信息学院国脉信息学院直到型(直到型(UntilUntil型)循环结构型)循环结构直到型循环结构的功能是先直到型循环结构的功能是先执行执行A框,然后判断给定的框,然后判断给定的P条件是否成立,如果条件是否成立,如

10、果P条条件不成立,则再执行件不成立,则再执行A,然,然后再对后再对P条件进行判断,如条件进行判断,如果果P条件仍然不成立,又执条件仍然不成立,又执行行A,如此反复执行,如此反复执行A,直,直到给定的到给定的P条件成立为止,条件成立为止,此时不再执行此时不再执行A,脱离本循,脱离本循环结构。环结构。数据库系统概论数据库系统概论国脉信息学院国脉信息学院三种结构的三种结构的N-SN-S结构化流程图结构化流程图顺序结构的顺序结构的N-S图图选择结构的选择结构的N-S图图当型循环结构当型循环结构直到型循环结构直到型循环结构 P成立 不成立 A B 当p成立 A A 直到p成立数据库系统概论数据库系统概论

11、国脉信息学院国脉信息学院4.4.算法基本设计方法算法基本设计方法 常用的几种算法设计方法有列举法列举法列举法列举法、递推法递推法递推法递推法、递归递归递归递归法法法法、贪婪法贪婪法贪婪法贪婪法、分治法分治法分治法分治法和动态规划法动态规划法动态规划法动态规划法等。数据库系统概论数据库系统概论国脉信息学院国脉信息学院2.1.2 2.1.2 算法的复杂度算法的复杂度一个算法算法算法算法的质量质量质量质量可以用算法用算法用算法用算法的复杂度来衡量复杂度来衡量复杂度来衡量复杂度来衡量。算法的复杂度包括算法的复杂度包括算法的复杂度包括算法的复杂度包括算法的时间复杂度时间复杂度时间复杂度时间复杂度和算法的

12、空间空间空间空间复杂度复杂度复杂度复杂度两种。数据库系统概论数据库系统概论国脉信息学院国脉信息学院1 1算法的时间复杂度算法的时间复杂度算法的时间复杂算法的时间复杂算法的时间复杂算法的时间复杂度是指执行算法所需要计算工作量执行算法所需要计算工作量执行算法所需要计算工作量执行算法所需要计算工作量。算法执行程序的具体时间和具体时间和具体时间和具体时间和算法的时间复杂度并不是时间复杂度并不是时间复杂度并不是时间复杂度并不是一致的一致的一致的一致的。算法的计算工作量是算法的计算工作量是算法的计算工作量是算法的计算工作量是用算法所执行的基本运算次数来用算法所执行的基本运算次数来用算法所执行的基本运算次数

13、来用算法所执行的基本运算次数来度量的度量的度量的度量的,而算法所执行的基本运算次数是所要解决的问题的规模(通常用整数n表示)的函数算法的工作量=f(n),其中整数n表示要解决的问题的规模。数据库系统概论数据库系统概论国脉信息学院国脉信息学院算法的时间复杂度举例算法的时间复杂度举例第一个程序段如下:第一个程序段如下:x+x+;s=0s=0在这个程序段中,基本运算“x+”只执行了一执行了一次次这个程序段的时间复杂度时间复杂度为O(1)O(1)。数据库系统概论数据库系统概论国脉信息学院国脉信息学院算法的时间复杂度举例算法的时间复杂度举例第二个程序段如下:第二个程序段如下:forforforfor(i

14、=1i=1i=1i=1;i=ni=ni=ni=n;i+i+i+i+)x+x+x+x+;s+=xs+=xs+=xs+=x;/*一个简单的for循环,循环体内操作执行了n次*/在这个程序段中,由于有一个循环,所以基本运算“x+”执行了执行了执行了执行了n n n n次次次次。这个程序段的时间复杂度时间复杂度时间复杂度时间复杂度为O(n)O(n)。数据库系统概论数据库系统概论国脉信息学院国脉信息学院算法的时间复杂度举例算法的时间复杂度举例第三个程序段如下:第三个程序段如下:第三个程序段如下:第三个程序段如下:forforforfor(i=1i=1i=1i=1;i=ni=ni=ni=n;i+i+i+i

15、+)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;/*/*嵌套的双层嵌套的双层forfor循环,循环体内操作执行了循环,循环体内操作执行了n n2 2次次*/在这个程序段中,是一个嵌套的双层循环,所以基本在这个程序段中,是一个嵌套的双层循环,所以基本运算运算“x+x+”执行了执行了执行了执行了n n n n2 2 2 2次次次次。这个程序段的时间复杂度这个程序段的时间复杂度O(nO(nO(nO(n2 2 2 2)。数据库系统概论数据库系统概论国脉信息学院国脉信息学院2 2算法的空间复杂度

16、算法的空间复杂度算法的空间复杂度算法的空间复杂度算法的空间复杂度算法的空间复杂度是指执行执行执行执行这个算法所需要的内存空算法所需要的内存空算法所需要的内存空算法所需要的内存空间间间间。算法执行期间所需要的存储空间包括3部分:输入数据所占输入数据所占输入数据所占输入数据所占的存储空间、程序本身所占程序本身所占程序本身所占程序本身所占的存储空间、算法执行过程中算法执行过程中算法执行过程中算法执行过程中所需要的额外空间。数据库系统概论数据库系统概论国脉信息学院国脉信息学院2.2 2.2 程序设计方法与风格程序设计方法与风格程序设计程序设计程序设计程序设计是指设计设计设计设计、编制编制编制编制、调试

17、程序调试程序调试程序调试程序的方法和过程方法和过程方法和过程方法和过程。程序设计并不等同于并不等同于并不等同于并不等同于通常意义上的编程编程编程编程。优先考虑清晰性,效率第二优先考虑清晰性,效率第二优先考虑清晰性,效率第二优先考虑清晰性,效率第二 程序的质量程序的质量程序的质量程序的质量主要受到受到受到受到程序设计方法设计方法设计方法设计方法、技术技术技术技术和程序设计设计设计设计风格风格风格风格等因素的影响影响影响影响。本节主要介绍程序设计风格(也可看成程序设计时应遵循的一组规范)程序设计由多个步骤组成,编程只程序设计由多个步骤组成,编程只程序设计由多个步骤组成,编程只程序设计由多个步骤组成

18、,编程只是程序设计整个过程中的一小步。是程序设计整个过程中的一小步。是程序设计整个过程中的一小步。是程序设计整个过程中的一小步。数据库系统概论数据库系统概论国脉信息学院国脉信息学院(1)(1)下列叙述中,不符合良好程序设计风格要求的是下列叙述中,不符合良好程序设计风格要求的是 (A A)A)A)程序的效率第一,清晰第二程序的效率第一,清晰第二 B)B)程序的可读性好程序的可读性好 C)C)程序中要有必要的注释程序中要有必要的注释 D)D)输入数据前要有提示信息输入数据前要有提示信息(2)(2)结构化程序设计主要强调的是结构化程序设计主要强调的是 (B B)A)A)程序的规模程序的规模 B)B)

19、程序的易读性程序的易读性 C)C)程序的执行效率程序的执行效率 D)D)程序的可移植性程序的可移植性(3)(3)在设计程序时,应采纳的原则之一是在设计程序时,应采纳的原则之一是 (A A)A)A)程序结构应有助于读者理解程序结构应有助于读者理解 B)B)不限制不限制gotogoto语句的使用语句的使用 C)C)减少或取消注解行减少或取消注解行 D)D)程序越短越好程序越短越好数据库系统概论数据库系统概论国脉信息学院国脉信息学院程序设计规范程序设计规范 源程序文档化源程序文档化 数据说明的方法数据说明的方法 语句的结构语句的结构 输入和输出输入和输出源程序源程序源程序源程序文档化文档化文档化文档

20、化语句的语句的语句的语句的结构结构结构结构程序设计规范程序设计规范程序设计规范程序设计规范数据说明数据说明数据说明数据说明的方法的方法的方法的方法输入和输入和输入和输入和输出输出输出输出数据库系统概论数据库系统概论国脉信息学院国脉信息学院1 1源程序文档化源程序文档化源程序文档化源程序文档化源程序文档化源程序文档化是指在源程序中可包含一些内部文档内部文档内部文档内部文档,以帮助阅读和理解源程序帮助阅读和理解源程序帮助阅读和理解源程序帮助阅读和理解源程序。对源程序文档化的过程中,应考虑 符号名的命名符号名的命名符号名的命名符号名的命名、程序注释程序注释程序注释程序注释、视觉组织等视觉组织等视觉组

21、织等视觉组织等问题。命名应具有一命名应具有一命名应具有一命名应具有一定的实际含义定的实际含义定的实际含义定的实际含义在程序中添加一些空在程序中添加一些空在程序中添加一些空在程序中添加一些空格、空行和缩进等,格、空行和缩进等,格、空行和缩进等,格、空行和缩进等,使人们在视觉上对程使人们在视觉上对程使人们在视觉上对程使人们在视觉上对程序的结构一目了然。序的结构一目了然。序的结构一目了然。序的结构一目了然。数据库系统概论数据库系统概论国脉信息学院国脉信息学院程序注释程序注释在源程序中添加正确的注释可以帮助理解程序可以帮助理解程序可以帮助理解程序可以帮助理解程序。程序注释注释注释注释可以分为分为分为分

22、为序言行注释序言行注释序言行注释序言行注释和功能性注释功能性注释功能性注释功能性注释。序言性注释序言性注释序言性注释序言性注释位于位于位于位于程序的起始部分起始部分起始部分起始部分,说明整个程序模块说明整个程序模块说明整个程序模块说明整个程序模块的功能的功能的功能的功能。功能性注释功能性注释功能性注释功能性注释一般嵌套在源程序嵌套在源程序嵌套在源程序嵌套在源程序语句内内内内,主要描述相关描述相关描述相关描述相关语句或程序段的功能语句或程序段的功能语句或程序段的功能语句或程序段的功能。数据库系统概论数据库系统概论国脉信息学院国脉信息学院2 2数据说明的方法数据说明的方法 为使程序中的数据说明易于

23、理解和维护数据说明易于理解和维护数据说明易于理解和维护数据说明易于理解和维护,可采用次序应规范化、变量安排有序化和使用注释等数据说明风格。数据库系统概论数据库系统概论国脉信息学院国脉信息学院3 3语句的结构语句的结构 为使程序简单易懂,语句构造语句构造语句构造语句构造应该简单直接简单直接简单直接简单直接,每条语句都能直截了当地反映程序员的意图,不能为了提高效率而把语句复杂化。数据库系统概论数据库系统概论国脉信息学院国脉信息学院4 4输入和输出输入和输出 设计好的程序能否被用户接受,往往取决于输入和 输出的风格。输入和输出的方式和格式应尽量友好尽量友好尽量友好尽量友好,方方方方 便用户使用便用户

24、使用便用户使用便用户使用。数据库系统概论数据库系统概论国脉信息学院国脉信息学院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 结构化程序设计方法的重要原则结构化程序设计方法的重要原则结构化程序设计方法的结构化程序设计方法的重要原则重要原则是:是:自顶向下自顶向下自顶向下自顶向下 逐步求精逐步求精逐步

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

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

27、序结构有害,应尽量避免使用。语句对程序结构有害,应尽量避免使用。语句对程序结构有害,应尽量避免使用。语句对程序结构有害,应尽量避免使用。数据库系统概论数据库系统概论国脉信息学院国脉信息学院2.3.2 2.3.2 结构化程序的基本结构与特点结构化程序的基本结构与特点1 1 1 1顺序结构顺序结构顺序结构顺序结构按照程序语句行的先后顺序,一条语句接着按照程序语句行的先后顺序,一条语句接着按照程序语句行的先后顺序,一条语句接着按照程序语句行的先后顺序,一条语句接着一条语句地执行程序。一条语句地执行程序。一条语句地执行程序。一条语句地执行程序。2 2 2 2选择结构选择结构选择结构选择结构选择结构又称

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

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

30、结构和直到(UNTILUNTILUNTILUNTIL)型循环结构。)型循环结构。)型循环结构。)型循环结构。数据库系统概论数据库系统概论国脉信息学院国脉信息学院(1)(1)(1)(1)下面描述中,符合结构化程序设计风格的是下面描述中,符合结构化程序设计风格的是下面描述中,符合结构化程序设计风格的是下面描述中,符合结构化程序设计风格的是 (A A A A)A)A)A)A)使用顺序、选择和重复(循环)三种基本控制结构表示程序使用顺序、选择和重复(循环)三种基本控制结构表示程序使用顺序、选择和重复(循环)三种基本控制结构表示程序使用顺序、选择和重复(循环)三种基本控制结构表示程序 的控制逻辑的控制逻

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

32、步求 精、精、精、精、_和限制使用和限制使用和限制使用和限制使用gotogotogotogoto语句。语句。语句。语句。答:答:答:答:模块化模块化模块化模块化(3)(3)(3)(3)结构化程序所要求的基本结构不包括结构化程序所要求的基本结构不包括结构化程序所要求的基本结构不包括结构化程序所要求的基本结构不包括 (B B B B)A)A)A)A)顺序结构顺序结构顺序结构顺序结构 B)GOTOB)GOTOB)GOTOB)GOTO跳转跳转跳转跳转 C)C)C)C)选择(分支)结构选择(分支)结构选择(分支)结构选择(分支)结构 D)D)D)D)重复(循环)结构重复(循环)结构重复(循环)结构重复(

33、循环)结构数据库系统概论数据库系统概论国脉信息学院国脉信息学院2.3.3 2.3.3 结构化程序设计的注意事项结构化程序设计的注意事项 使用程序设计语言中的三种控制结构表示程序的控使用程序设计语言中的三种控制结构表示程序的控制制逻辑逻辑 选用的控制结构只允许有一个入口和一个出口选用的控制结构只允许有一个入口和一个出口 复杂结构应该用嵌套的基本控制结构进行组合嵌套来复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现实现 语言中所有没有的控制结构,应该采用前后一致的方语言中所有没有的控制结构,应该采用前后一致的方法来模拟法来模拟 严格控制严格控制gotogoto语句的使用。语句的使用。数据库系统概

34、论数据库系统概论国脉信息学院国脉信息学院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)对象对象对象对象是面向对象方法中最基本的概念,它可以用来表示客观世界中客观世界中客观世界中客观世界中的任何实体任何实体任何实体任何实体。例:书本,课桌,老师,学生等数据库系统概论数据库系统概论国脉信息学院国脉信息学院

35、 2 2类和实例类和实例 类类类类是具有共同属性、共同方法的对象的集合具有共同属性、共同方法的对象的集合具有共同属性、共同方法的对象的集合具有共同属性、共同方法的对象的集合,是关于对象的抽象描述,它描述了属于该对象类型的所有对象的性质。例:教师类(类)教师(实例)任何一个具体对象都是该对象所属类的一个具体实例,即一个对象是其对应类的一个实例。数据库系统概论数据库系统概论国脉信息学院国脉信息学院 3 3消息消息消息消息消息消息是一个实例与另一个实例之间传递的信息。它统一了数据流和控制流;一个对象通过向另一个对象发送消息来请求其服务;消息只包含传递者的要求,它告诉接受者需要做哪些处理,并不指示接受

36、者怎样去完成这些处理。数据库系统概论数据库系统概论国脉信息学院国脉信息学院4 4继承继承 继承继承继承继承是指能够直接获得已有的性质和特征,而不必重复地定义它们。继承具有传递性继承具有传递性继承具有传递性继承具有传递性,如果类Z继承类Y,类Y继承类X,则类Z继承类X。一个类继承它上层的全部基类的特性数据库系统概论数据库系统概论国脉信息学院国脉信息学院5 5多态性多态性 对象根据所接收的信息而做出动作,同样的消息被同样的消息被同样的消息被同样的消息被不同的对象接收时可导致完全不同的行为不同的对象接收时可导致完全不同的行为不同的对象接收时可导致完全不同的行为不同的对象接收时可导致完全不同的行为,该

37、现象称为多态性。数据库系统概论数据库系统概论国脉信息学院国脉信息学院(1)(1)(1)(1)下面概念中,不属于面向对象方法的是下面概念中,不属于面向对象方法的是下面概念中,不属于面向对象方法的是下面概念中,不属于面向对象方法的是 (D D D D)A)A)A)A)对象对象对象对象 B)B)B)B)继承继承继承继承 C)C)C)C)类类类类 D)D)D)D)过程调用过程调用过程调用过程调用(2)(2)(2)(2)在面向对象方法中,一个对象请求另一对象为其服务的方式是在面向对象方法中,一个对象请求另一对象为其服务的方式是在面向对象方法中,一个对象请求另一对象为其服务的方式是在面向对象方法中,一个对

38、象请求另一对象为其服务的方式是 通过发送通过发送通过发送通过发送 (D D D D)A)A)A)A)调用语句调用语句调用语句调用语句 B)B)B)B)命令命令命令命令 C)C)C)C)口令口令口令口令 D)D)D)D)消息消息消息消息(3)(3)(3)(3)下面对对象概念描述错误的是下面对对象概念描述错误的是下面对对象概念描述错误的是下面对对象概念描述错误的是(A A A A)A)A)A)A)任何对象都必须有继承性任何对象都必须有继承性任何对象都必须有继承性任何对象都必须有继承性 B)B)B)B)对象是属性和方法的封装体对象是属性和方法的封装体对象是属性和方法的封装体对象是属性和方法的封装体

39、C)C)C)C)对象间的通讯靠消息传递对象间的通讯靠消息传递对象间的通讯靠消息传递对象间的通讯靠消息传递 D)D)D)D)操作是对象的动态性属性操作是对象的动态性属性操作是对象的动态性属性操作是对象的动态性属性(4)(4)(4)(4)下列选项中属于面向对象设计方法主要特征的是下列选项中属于面向对象设计方法主要特征的是下列选项中属于面向对象设计方法主要特征的是下列选项中属于面向对象设计方法主要特征的是(A A A A)A)A)A)A)继承继承继承继承 B)B)B)B)自顶向下自顶向下自顶向下自顶向下C)C)C)C)模块化模块化模块化模块化 D)D)D)D)逐步求精逐步求精逐步求精逐步求精数据库系

40、统概论数据库系统概论国脉信息学院国脉信息学院2.4.2 2.4.2 面向对象方法的优点面向对象方法的优点与人类习惯的思维方法一致与人类习惯的思维方法一致稳定性好稳定性好可重用性好可重用性好易于开发大型软件产品易于开发大型软件产品可维护性好可维护性好数据库系统概论数据库系统概论国脉信息学院国脉信息学院2.5 2.5 小结小结本章主要介绍了算法的基本概念和程序设计的方法。算法部分主要讲解了算法的基本定义、基本特征、基本要素以及算法的时间复杂度和空间复杂度。程序设计部分主要讲解了程序设计方法与风格,详细介绍了结构化程序设计的主要原则和结构化程序设计的三种结构,然后详细介绍了面向对象方法的基本概念,包括对象、类、消息、继承和多态性等。数据库系统概论数据库系统概论国脉信息学院国脉信息学院

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁