流程图符号与流程图的例子
介绍常见的流程图符号与流程图的例子.
本章例1 - 1的算法的流程图如图1 - 2所示.本章例1 - 2的算法的流程图如图1 - 3所示.
在流程图中,判断框左边的流程线表示判断条件为真时的流程,右边的流程线表示条件为假时的流程,有时就在其左、右流程线的上方分别标注"真〞、"假〞或"T〞、"F〞或"Y〞、"N〞
另外还规定,流程线是从下往上或从右向左时,必须带箭头,除此以外,都不画箭头,流程线的走向总是从上向下或从左向右.
2. 算法的结构化描述
早期的非结构化语言中都有go to语句,它允许程序从一个地方直接跳转到另一个地方去.
执行这样做的好处是程序设计十分方便灵活,减少了人工复杂度,但其缺点也是十分突出的,一大堆跳转语句使得程序的流程十分复杂紊乱,难以看懂也难以验证程序的正确性,如果有错,排起错来更是十分困难.这种转来转去的流程图所表达的混乱与复杂,正是软件危机中程序人员处境的一个生动写照.而结构化程序设计,
就是要把这团乱麻理清.
经过研究,人们发现,任何复杂的算法,都可以由顺序结构、选择〔分支〕结构和循环结构这三种基本结构组成,因此,我们构造一个算法的时候,也仅以这三种基本结构作为"建筑单元〞,遵守三种基本结构的规X,基本结构之间可以并列、可以相互包含,但不允许交叉,不允许从一个结构直接转到另一个结构的内部去.正因为整个算法都是由三种基本结构组成的,就像用模块构建的一样,所以结构清晰,易于正确性验证,易于纠错,这种方法,就是结构化方法.遵循这种方法的程序设计,就是结构化程序设计.
相应地,只要规定好三种基本结构的流程图的画法,就可以画出任何算法的流程图.
<1> 顺序结构
顺序结构是简单的线性结构,各框按顺序执行.其流程图的基本形态如图1 - 4所示,语句
的执行顺序为:A→B→C.
<2> 选择〔分支〕结构
while语句流程图怎么画这种结构是对某个给定条件进行判断,条件为真或假时分别执行不同的框的内容.其基本形状有两种,如
图1-5 a〕、b〕所示.图1-5 a〕的执行序列为:当条件为真时执行A,否则执行B;图1 - 5 b〕的执行序列为:当条件为真时执行A,否则什么也不做.
<3> 循环结构
循环结构有两种基本形态: while型循环和do - while型循环.a. while 型循环如图1 - 6所示.
其执行序列为:当条件为真时,反复执行A,一旦条件为假,跳出循环,执行循环紧后的语句.b. do-while型循环
如图1 - 7所示.
执行序列为:首先执行A,再判断条件,条件为真时,一直循环执行A,一旦条件为假,结束循环,执行循环紧后的下一条语句.
在图1 - 6、图1 - 7中,A被称为循环体,条件被称为循环控制条件.要注意的是:1> 在循环体中,必然对条件要判断的值进行修改,使得经过有限次循环后,循环一定能
结束,如图1 - 3中的i = i - 1.
2> 当型循环中循环体可能一次都不执行,而直到型循环则至少执行一次循环体.
3> 直到型循环可以很方便地转化为当型循环,而当型循环不一定能转化为直到型循环.
例如,图1 - 7可以转化为图1 - 8.
七,用N-S图描述算法
N - S图是另一种算法表示法,是由美国人I . Nassi和B.Shneiderman共同提出的,其根据是:
既然任何算法都是由前面介绍的三种结构组成,所以各基本结构之间的流程线就是多余的,因此,N - S图也是算法的一种结构化描述方法.
N - S图中,一个算法就是一个大矩形框,框内又包含若干基本的框,三种基本结构的N - S图描述如下所示:
1. 顺序结构
如图1 - 9所示,执行顺序先A后B.
2. 选择结构
对应于图1 - 5的N - S图为图1 - 1 0.图1-10 a>条件为真时执行A,条件为假时执行B.图1 - 1 0
b 条件为真时执行A,为假时什么都不做.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论