流程图的画法及特点
框图是表示一个系统各部分和各环节之间关系的图示,它能够清晰地表达比较复杂的系统各部分之间的关系.具体来讲主要研究有关程序流程图、工序流程图及一些实际问题的流程图,在画流程图时应注意先后顺序、逻辑关系和简单明快.
一.流程图的特点
在我们所介绍的流程图内,每一个框代表一道工序,流程线则表示两相邻工序之间的衔接关系,这是一个有向线,其方向用它上面的箭头标识,用以指示工序进展的方向.显然,在工序流程图上不允许出现几道工序首尾相连的圈图或循环回路,当然对每道工序还可以再细分,还可以画出更精细的统筹图,这一点完全类似于算法的流程图表示:自顶向下,逐步细化.
注意:在程序框图内允许有闭合回路,而在工序流程图内不允许出现闭合回路.
相应地,只要规定好三种基本结构的流程图的画法,就可以画出任何算法的流程图。
(1) 顺序结构
顺序结构是简单的线性结构,各框按顺序执行。其流程图的基本形态如图1 - 4所示,语句
的执行顺序为:A→B→C。
(2) 选择(分支)结构
这种结构是对某个给定条件进行判断,条件为真或假时分别执行不同的框的内容。其基本形状有两种,如图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。
例1.到银行办理个人异地汇款(不超过100万)时;银行要收取一定的手续费.汇款额不超过100元,收取1元手续费;超过100元但不超过5000元,按汇款额的1%收取;超过5000元,一律收取50元手续费.设计算法求汇款额为x元时,银行收取的手续费y元,只画出流程图.
【分析】根据题意写出算法步骤,然后用程序流程图表示该算法便可.
【解析】要计算手续费,首先要建立汇款数与手续费之间的函数关系式,依题意知
流程图如图所示
【点评】解答该类问题的步骤一般是:先把待解决的问题“细化”即先用自然语言描述题中的算法步骤,然后把自然语言用流程图较形象直观的表示出来,然后,后期,可以依据流程图的形式,写出相应的程序。while语句流程图怎么画
例2 写一个函数Creat,用来建立一个动态链表。所谓建立动态链表是指在程序执行过程中从无到有的建立真情个链表,即一个一个的开辟结点和输入结点数据,并建立起前后相链的关系。各结点的数据由键盘输入。
【分析】题目并没有具体说要建一个什么结构样式的结构体变量,仅只给了
思路,这其实很大程度上是操练大家对链表及结构体掌握。即然是链表,那后期当然要用到指针之类的,
而且肯体要用结构体。另外,题目并没有说建到何时结束建立,这里,可以自己设置一个结束条件,比如输入0时就停下不建了。在这里,我们以简单的结构体为例:
typedef struct sa
{
Int a;
Struct sa *next;
} SAMPLE;
【解析】依据上面分析,我们得出下面的流程图及对应的程序(注意流程图如何转为代码)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论