岔路口、程序框图,流程图

By | 2015年11月29日

程序框图也叫流程图(Flowchart),如果你上过高中,那么你或许会在课本中简单的学习他们

流程图是用来表示逻辑关系的,今天我们就来简单的谈一下流程图的读法和画法

表达逻辑

1、自然语言

当我们希望表达一些逻辑时,可以采用很多方法

例如用自然语言(即人类日常生活使用的语言)去描述判断57是否是一个素数的算法,可以这样做

步骤一:令foo等于2

步骤二:将57除以foo,如果余数为0,跳到步骤五,否则执行下一步

步骤三:计算foo+1的值,并赋值给foo

步骤四:重复步骤二

步骤五:判断foo的值,若小于57,执行下一步,等于57则跳到第七步

步骤六:输出“57不是素数”

步骤七:输出“57是一个素数”

显然使用自然语言是繁琐而又冗长的

更常见的做法是使用伪代码

伪代码

伪代码,顾名思义,它不是“真”代码,它是一种介于自然语言和计算机语言的一种“语言”

而伪代码这种东西是没有一个标准的,这就是说:“怎么方便怎么写”,只要它能准确清晰的表达

同样是上面的算法,使用伪代码可以表示为

i ←2
while 57/i!=0
    i←i+1

if i < 57
    print "57不是素数"
else
    print "57是素数"

程序框图

终于到了正式内容了。使用伪代码表示算法不太清晰,而使用流程图就一目了然了

例如,还是那个算法,使用流程图可以表示为

流程图

是不是感觉比上面清晰很多呢?

下面我们就来一个一个框来认识

FlowChartMeaning

首先是起止框,它是一个圆角矩形,表示流程的开始或结束

第二个是流程框,它是一个矩形,框中描述的就是需要进行的操作(一个步骤使用一个流程框)

两个框之间的连线被称作“流线”(flow line),它是一个有箭头的线,箭头则表示了方向

第三个是判断框,由一个菱形构成,它是用来判断的,通常判断出的两个分支分别从左边和右边伸出

框中填写的则是判断条件。同时,判断的两个分支需要指出条件,通常使用“是”“否”,或Y,N等,如上图

第四个是输入输出框,由平行四边形构成。在需要输入,或者输出时,就需要使用这个框,框中应描述输入输出操作的对象

当然,流程图还有一些不太常用的框,我不准备做过多介绍,如果你希望了解,请自行百度/谷歌


我们可以看出,使用流程图可以很好的表示算法等复杂的逻辑

另外它也不是没有缺陷,清晰带来的最致命的缺陷便是复杂

如果你使用它表示一个复杂的算法逻辑,或许你需要一张房子那么大的纸才能将其画出来!因此在编程中,使用程序框图描述算法并不多

其实,流程图并不只使用与编程中,在生活的很多地方都可以看到流程图

那么我们如何绘制流程图呢?

网上有很多人教大家用Microsoft Word去绘制流程图,但是这确实不是它的用途,因此用Word画起来异常麻烦

其实,Microsoft office家族中,有一个叫做Visio的软件。这是一个专门用于对复杂信息、系统和流程进行可视化处理、分析和交流的软件,但是对我们来说并没有必要

因此最好的方法就是web大法了。

一个叫processon的网站便是一个提供在线流程图绘制的网站,只要你的浏览器支持html5(只要你的浏览器不是太老的IE等,一般都会支持),便可以随时随地在线的创建,下载,分享,甚至是团队协助处理

你所需要的只是免费注册一个账号。这篇文章中的流程图就绘于此网站

如果你使用下面的链接注册,我将会获得储存文件限制三个文件的奖励

点我注册

当然,也给出不带推广的链接

https://www.processon.com/

发表评论

电子邮件地址不会被公开。 必填项已用*标注