用流程图描述算法
2436字,阅读需时9分钟

在前面课程描述算法的步骤中,我们使用文字语言来描述算法。描述算法的目的有两个:一是梳理算法的过程和步骤,做到心中有数;二是与他人沟通或交流算法时,方便他人阅读和理解算法。

1、使用流程图描述算法
在与他人沟通或交流算法时,让他人快速阅读和理解算法是非常重要的,当算法步骤过多或比较复杂时,用文字描述的算法会增加沟通或交流上的困难。

01.png

在这种情况下,用图形来描述算法是一种比较好的思路。俗话说:一张图胜过千言万语,用图来描述算法可以让他人快速理解算法的过程和步骤,相对文字来说也引人入胜,与他人进行算法的沟通和交流也非常方便。

02.png

因此在描述算法时,除了使用文字描述算法外,还需要学会使用图形来描述算法,并且还要学会阅读他人使用图形描述的算法。
人们为了统一算法的图形描述,预定义了一组图形符号,大家都用预定义的图形符号来描述算法,在图形符号上可以加入文字解释,说明该图形符号表示的意义。
多个图形符号以及图形符号上的文字解释构成了一张图,这张图称为流程图,用图形符号描述算法的绘制过程也称为绘制流程图。下图是计算长方形面积算法的流程图:

03.png

为了方便同学们看懂计算长方形面积算法的流程图,下面也给出了用文字描述的算法:
第一步:输入长方形的长度和宽度;

第二步:判断输入长方形的长度和宽度是否小于等于0,如果长度或宽度小于等于0,执行第三个步骤,否则执行第四个步骤;

第三步:提示用户输入的长度和宽度有错误,算法结束;

第四步:计算长度和宽度的乘积;第五步:输出长方形的面积。

21.png

同学们对上面流程图中使用的图形符号可能会有疑问,这些图形符号都表示什么意义呢?绘制流程图必须要使用这些符号吗?
流程图中的图形符号都是预先定义好的,每个图形符号都表示在流程图中一个确定的意义。这些符号已经被标准化,标准化的意思就是大家在绘制流程图时,都会使用这些图形符号,而不会使用其它的符号。用标准化的图形符号绘制流程图的意义在于:你绘制的流程图大家都能看的懂!

04.png

2、认识流程图

标准化的流程图有六个图形符号,绘制流程图时也只能使用这六个图形符号。这六个图形符号分别是开始/结束、过程、输入/输出、子过程、判断、流线符号。

05.png

开始/结束图形符号

06.png

算法有开始和结束,在预定义的图形符号中也有“开始/结束”符号。“开始/结束”符号用同一个圆角矩形表示。在绘制流程图时,首先要绘制开始符号,最后绘制结束符号。
过程符号

07.png

算法的每一个步骤(输入和输出步骤、判断步骤除外)都可以使用“过程”符号来表示,矩形内可以添加过程的简要说明。
输入/输出符号

08.png

算法的输入和输出步骤可以使用“输入/输出”符号,“输入/输出”符号用平行四边形来表示。例如从键盘获取用户输入,输出内容到显示器等这些需要输入和输出的步骤,都可以使用“输入/输出”符号来表示。
子过程符号

09.png


当一个算法比较复杂时,需要绘制的流程图会非常复杂,在一个页面中不能完全展现。这时,就需要把算法分为多个子算法,分别进行绘制,这就是分而治之的原则,也符合人们解决问题的思路。在整体算法流程图中,用“子过程”符号来表示一个分解后的子算法。
判断符号

10.png

算法中的条件判断步骤可以使用“判断”符号来表示。在条件判断情况下,算法的流程并不是按既定的顺序执行,而是根据不同条件,选择不同的执行路径。

20.png

流线符号

11.png

在流程图中,算法的步骤之间用“流线”符号连接,箭头指向表示步骤的流程方向。例如输入步骤(使用输入/输出符号)的下一个步骤是计算步骤(使用过程符号),用“流线”符号连接两个步骤,流线符号的箭尾指向输入步骤,流线符号的箭头指向计算步骤。

12.png

另外,在绘制流程图时,要遵循图形符号的形状,但图像符号的大小、颜色、外观不受限制。
现在我们已经了解了流程图中六个图形符号的意义,再来看前面绘制的计算长方形面积算法的流程图,就很容易看懂了。
看流程图时,从“开始”符号顺着“流线”符号看算法的每个步骤,遇到“判断”符号(判断步骤),会有两条“流线”符号(连接两个不同步骤),分别查看这两个不同步骤的流程,依次类推。流程图最后的图形符号是“结束”符号。
3、如何绘制流程图?
绘制流程图的方式有很多,可以使用绘图工具,Word、PowerPoint等软件来绘制流程图,也可以在纸张上绘制流程图。下面我们使用PowerPoint软件来绘制前面的流程图(如果不会使用PowerPoint,可以在纸张上绘制)。
第一步:绘制“开始”符号,在【形状】下选择圆角矩形图形到页面,在矩形符号内输入“开始”文字。

13.png

第二步:绘制算法的第一个步骤,该步骤是输入步骤。在【形状】下选择平行四边形图形到页面,在平行四边形符号内输入说明文字。并使用“流线”符号连接“开始”符号和“输入/输出”符号。

14.png

第三步:绘制算法的第二个步骤,算法第二个步骤是判断步骤,在【形状】下选择菱形图形到页面,输入文字说明。并使用“流线”符号连接“输入/输出”符号和“判断”符号。

15.png

第四步:绘制算法的第三个步骤,算法的第三个步骤是输出步骤,是前面判断步骤的一个出口,该步骤执行输出“长度和宽度错误”信息。

16.png

第五步:绘制算法的第四个步骤,算法的第四个步骤是计算步骤,也是前面判断步骤的一个出口,该步骤用于计算长方形的面积。

17.png

第六步:绘制算法的第五个步骤,该步骤输出长方形的面积。

18.png

第七步:绘制流程图的“结束”符号,并使用“流线”符号连接算法的第三个步骤和第五个步骤到“结束”符号。

19.png

内容小结
流程图是人们描述算法经常使用的一种方式,它简单易学,只有六种图形符号,绘制的流程图也直观易理解。
绘制流程图用什么工具并不重要,重要的是要掌握流程图的绘制方法和流程图各图形符号的用法。你可以用手在纸张上绘制,也可以用画图软件来绘制。


练习题
绘制一个求两数和算法的流程图,流程图可以用手在纸张上绘制,也可以用绘图工具、word、PowerPoint等软件来绘制。求两数和算法步骤如下:

(1)输入两个数,这两个数存储到num1和num2两个变量中;

(2)计算num1和num2的和,将和存储到sum变量中;

(3)输出sum变量。

读者留言
最新
推荐
郎宏林
授课老师
授课老师简介
项目经理,系统分析和架构师,从事多年中文信息处理技术。熟悉项目管理、擅长项目需求分析和设计、精通Java、C#、Python等编程语言。