Python入门02:使用流程图描述算法

前面了解了程序和算法的关系,知道了算法是解决问题的具体方法和步骤,也学会了用文字去描述算法。哪还有没有其它描述算法的方式呢?毕竟文字看起来比较费劲。流程图就是一种描述算法的图形化描述,用流程图可以清晰地描述出算法的思路和过程。通过本课的学习,你将了解到如何用流程图来描述算法

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

使用流程图描述算法

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

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

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

下图是计算长方形面积算法的流程图:

为了方便同学们看懂计算长方形面积算法的流程图,下面也给出了用文字描述的算法:

第一步:输入长方形的长度和宽度;

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

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

第四步:计算长度和宽度的乘积;

第五步:输出长方形的面积。

同学们对上面流程图中使用的图形符号可能会有疑问,这些图形符号都表示什么意义呢?绘制流程图必须要使用这些符号吗?

流程图中的图形符号都是预先定义好的,每个图形符号都表示在流程图中一个确定的意义。这些符号已经被标准化,标准化的意思就是大家在绘制流程图时,都会使用这些图形符号,而不会使用其它的符号。用标准化的图形符号绘制流程图的意义在于:你绘制的流程图大家都能看的懂!

认识流程图

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

 

开始/结束图形符号

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

 

过程符号

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

 

输入/输出符号

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

 

子过程符号

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

判断符号

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

 

流线符号

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

另外,在绘制流程图时,要遵循图形符号的形状,但图像符号的大小、颜色、外观不受限制。

现在我们已经了解了流程图中六个图形符号的意义,再来看前面绘制的计算长方形面积算法的流程图,就很容易看懂了。

看流程图时,从“开始”符号顺着“流线”符号看算法的每个步骤,遇到“判断”符号(判断步骤),会有两条“流线”符号(连接两个不同步骤),分别查看这两个不同步骤的流程,依次类推。流程图最后的图形符号是“结束”符号。

如何绘制流程图?

绘制流程图的方式有很多,可以使用绘图工具,Word、PowerPoint等软件来绘制流程图,也可以在纸张上绘制流程图。下面我们使用PowerPoint软件来绘制前面的流程图(如果不会使用PowerPoint,可以在纸张上绘制)。

第一步:绘制“开始”符号,在【形状】下选择圆角矩形图形到页面,在矩形符号内输入“开始”文字。

进入Python入门课程,学习更多内容