C++程序设计课件第02章.ppt
《C++程序设计课件第02章.ppt》由会员分享,可在线阅读,更多相关《C++程序设计课件第02章.ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2 2章章 算法设计基础算法设计基础2.1 算法的描述算法的描述2.2 结构化算法设计初步结构化算法设计初步2.3 算法的计算复杂性算法的计算复杂性2.4 常用算法设计策略常用算法设计策略学习目的:学习目的:掌握算法的流程图和掌握算法的流程图和PADPAD图描述方式;图描述方式;初步掌握结构化算法设计;初步掌握结构化算法设计;能够进行简单的算法复杂性分析;能够进行简单的算法复杂性分析;初步了解分治与递归。初步了解分治与递归。2.1 2.1 算法的描述算法的描述 2.1.1 自然语言方式自然语言方式2.1.2 伪代码方式伪代码方式2.1.3 程序流程图方式程序流程图方式2.1.4 N/S盒图
2、方式盒图方式2.1.5 PAD图方式图方式算法的描述方式很多,不同描述风格适用于不同场合,算法的描述方式很多,不同描述风格适用于不同场合,在面向对象技术出现之前,人们倾向于在算法的描述在面向对象技术出现之前,人们倾向于在算法的描述中对未来程序的层次结构进行一定程度的控制,而不中对未来程序的层次结构进行一定程度的控制,而不仅仅是描述具体的数据处理过程。本节介绍算法的常仅仅是描述具体的数据处理过程。本节介绍算法的常见描述方法。见描述方法。2.1.12.1.1自然语言方式自然语言方式算法表示如下:算法表示如下:S1S1:输入输入n n的值的值S2S2:2 2 i (i i (i 作为除数)作为除数)
3、S3:n S3:n 被被 i i 除,得余数除,得余数 r rS4:S4:如果如果 r r 等于等于 0 0,表示表示 n n 能能 被被 i i 整除,则打印整除,则打印 n n“不是素数不是素数”,算法结束;否则执行,算法结束;否则执行S5S5S5S5:i+1 i+1 i i S6:S6:如果如果 i i n-1,n-1,返回返回S3S3;否则,打印否则,打印 n“n“是素数是素数”,算,算法结束。法结束。例例1 1:对一个大于或等于:对一个大于或等于3 3的正整数,判断它是不是一个素数的正整数,判断它是不是一个素数方法:将方法:将 n(n(其中其中n n 3)3)作为被除数,作为被除数,
4、将将2 2 到(到(n-1)n-1)各个整数轮流各个整数轮流作为除数,如果都不能被整除,则作为除数,如果都不能被整除,则n n为素数。为素数。2.1.22.1.2伪代码方式伪代码方式预先规定了描述规则和关键词,以接近某程序设计语言预先规定了描述规则和关键词,以接近某程序设计语言的风格描述算法。同时具有易理解和趋于形式化的优点。的风格描述算法。同时具有易理解和趋于形式化的优点。Begin input n 2 i while(i n-1)n mod i r if(0=r)output n is not Prime;exit /退出循环 i+1 i if(i=n)output n is Prime
5、End 此地用到了循环结构2.1.32.1.3程序流程图方式程序流程图方式算法由若干张流程图描述,每张流程图由结点和有向边构算法由若干张流程图描述,每张流程图由结点和有向边构成,该图描述了算法中所进行的操作以及这些操作执行的成,该图描述了算法中所进行的操作以及这些操作执行的逻辑顺序。逻辑顺序。流程图的常用结点及控制结构描述如下流程图的常用结点及控制结构描述如下:循环结构循环结构或或是是条件条件否否处理处理当型循环当型循环条件条件处理处理否否是是直到循环直到循环端点符端点符处理处理判断判断预定义功能预定义功能连接符连接符条件条件处理处理1 1处理处理2 2选择结构选择结构处理处理1 1处理处理2
6、 2顺序结构顺序结构流程线流程线2.1.32.1.3程序流程图方式程序流程图方式开始输入n的值i=n-1i=2r=n%ir=0YNi=i+1输出 n 不是素数输出 n 是素数结束YN此地都可采用平行四边形框输入和输出时可采用该框2.1.4改进的流程图-N/S流程图o略2.1.52.1.5PADPAD图图(Problem Analysis DiagramProblem Analysis Diagram)方式方式PADPAD图结点与控制结构描述图结点与控制结构描述b b 选择结构选择结构d d 循环结构循环结构c c 多选择结构多选择结构a a 顺序结构顺序结构P P1 1P P2 2CP P1
7、1P P2 2P Pn n L L1 1L L2 2 X=X=L Ln nP PA A或或while cwhile cuntil cuntil cP P1 1P P2 2输入输出输入输出重复重复子算法子算法定义定义选择选择语句标号语句标号处理处理2.1.52.1.5PADPAD图方式图方式 i=n-1n算法开始算法开始算法结束算法结束i=2i=2r=n%ir=0i=i+1i=i+1n 不是素数n 是素数2.22.2结构化算法设计初步结构化算法设计初步2.2.1 算法描述算法描述2.2.2 算法设计算法设计将组成算法的多个操作按照不同的层次组织在一起,每一组代表将组成算法的多个操作按照不同的层次
8、组织在一起,每一组代表一种复杂的一种复杂的相对独立的复合操作相对独立的复合操作,各复合操作的内部亦可进行层,各复合操作的内部亦可进行层次划分,从而形成整个算法的嵌套层次结构。次划分,从而形成整个算法的嵌套层次结构。每一组操作具有每一组操作具有惟一惟一的入口和的入口和惟一惟一的出口的出口,即一端进一端出。这,即一端进一端出。这样的操作组置于其样的操作组置于其他他操作中时,算法的执行顺序必定是从前一组操作中时,算法的执行顺序必定是从前一组操作的出口到本组操作的入口,经过本组内部的运算,到达本组操作的出口到本组操作的入口,经过本组内部的运算,到达本组操作的操作的惟一惟一出口。出口。各组之间利用各组之
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 课件 02
限制150内