1 / 79
文档名称:

c语言程序的流程控制课件3.ppt

格式:ppt   页数:79
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c语言程序的流程控制课件3.ppt

上传人:所以所以 2012/5/23 文件大小:0 KB

下载得到文件列表

c语言程序的流程控制课件3.ppt

文档介绍

文档介绍:3
C H A P T E R
C语言程序的流程控制
算法
广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。
方法1:1+2,+3,+4,一直加到100 加99次
方法2:100+(1+99)+(2+98)+…+(49 +51)+50
= 100 + 49×100 +50 加51次
对同一个问题,可有不同的解题方法和步骤:
例: 求
三种基本结构
Bohm和Jacopini提出了以下三种基本结构:
顺序结构、选择结构、循环结构
用这三种基本结构作为表示一个良好算法的基本单元。
为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。希望方法简单,运算步骤少。
有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果。
确定性:算法中的每一个步骤都应当是确定的。
有穷性:包含有限的操作步骤。
一个算法应该具有以下基本性质:
算法描述工具
可以用不同的方法表示算法,常用的有:
传统流程图
N-S流程图
伪代码
流程图
过程
判断
数据
预定义过程
起止
流程线
连接
注释
常用的流程图标准化符号
S1
S2
S3
P
S1
S2


P
S2


顺序结构
选择结构
循环结构
三种基本结构流程图:
用流程图描述从三个数中取最大数的算法。
a>=b
输入a,b,c
max=a


max=b
max>=c


输出max
输出c
开始
结束
传统流程图的弊端:
传统流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制。因此,使用者可以毫不受限制地使流程随意地转向,使流程图变得毫无规律,阅读者要花很大精力去追踪流程,使人难以理解算法的逻辑。如图:
传统流程图的流程可以是:
这种如同乱麻一样的算法称为BS型算法,意为一碗面条(A Bowl of Spaghetti),乱无头绪。
缺点:难以阅读、修改,使算法的可靠性和可维护性难以保证。
解决办法:必须限制箭头的滥用,即不允许无规律地使流程随意转向,只能顺序地进行下去。