10分钟内学会流程图

流程图定义:

流程图是算法的图形表示,该算法使用不同形状的框来表示不同类型的指令。这些指令按照逻辑顺序执行以产生所需的输出。
 
实际说明使用清晰简洁的语句写在这些框中。这些框由带有箭头标记的实线连接,以指示要执行指令的确切顺序的操作流程。

流程图的历史:

1921 年,弗兰克·吉尔布雷斯 (Frank Gilbreth ) 在“寻找最佳方法的第一步”演讲中向美国机械工程师协会 ( ASME )的成员介绍了第一种用于记录流程的结构化方法
 
Gilbreth 的工具很快就进入了工业工程课程。1930 年代初期,工业工程师艾伦·赫伯特·摩根森Allan Herbert Mogensen)在纽约普莱西德湖举行的工作简化会议上开始培训商人使用一些工业工程工具。
 
Douglas Hartree解释说Herman Goldstein 和 John von Neumann开发了一个流程图(最初是图表)来规划计算机程序。流程图曾经是描述计算机算法的流行手段,现在仍然用于此目的。

流程图的目的:

假设我们的老师要求我们解决一个算术问题,而我们不熟悉解决该问题的步骤。在这种情况下,我们将无法解决该问题。同样的原则也适用于编写计算机程序。除非程序员知道如何手动解决程序,否则程序员无法编写计算机遵循的指令。
 
现在假设我们知道解决问题的步骤,但是在解决问题的过程中,如果我们忘记应用某些步骤或者我们以错误的顺序应用了计算步骤,那么显然我们会得到错误的答案。同样,在编写计算机程序时,如果程序员忘记编写某些指令或以错误的顺序编写指令,那么计算机将计算出错误的答案。
 
因此我们可以得出结论,每个程序员都必须按照正确的顺序编写每条指令。为了确保程序指令适合问题并按正确顺序排列,程序必须在编写之前进行规划。
 
因此,在编写任何计算机程序之前,必须编写该程序的算法和流程图。这称为编写程序的两步法。

算法:

术语算法可以定义为以这样的方式设计的指令序列,如果指令以指定的顺序执行,将获得期望的结果。
 

绘制流程图的步骤:

通常,算法首先以流程图的形式表示,然后流程图以某种编程语言表示以准备计算机程序。
 
这种编写程序的两步方法的主要优点是在绘制流程图时不关心编程语言元素的细节。
 
由于流程图以图形形式显示操作流程。因此,在程序的情况下,可以很容易地检测到程序逻辑中的任何错误。
 
一旦流程图准备好,程序员就可以忘记程序的逻辑,而可以专注于根据编程 语言对流程图的每个框的操作进行编码这将确保程序无错误。

流程图符号:

众所周知,流程图使用不同形状的框来表示不同类型的指令。通过使用具有标准化含义的符号,可以更轻松地通过流程图进行程序逻辑的交流。例如菱形框总是意味着一个决定。在流程图中只需要几个符号来指示必要的操作。这些符号已由美国国家标准协会标准化。
 
流程图符号

终端 (Terminal):

终止符号用于指示程序逻辑流程中的开始(START)、结束(STOP)和暂停(HALT)。它是程序逻辑中的第一个符号。此外,如果程序逻辑要求在程序中暂停,则也用终止符号表示。在某些错误条件下,程序逻辑中通常会使用暂停。

输入和输出 (Input and Output):

输入/输出符号用于表示程序中输入/输出设备的任何功能。如果有从磁盘、磁带、读卡器、终端或任何其他类型的输入设备输入数据的程序指令,该步骤将在流程图中用输入/输出符号指示。同样,所有输出指令,无论是在打印机、磁带、磁盘、终端屏幕或任何输出设备上输出,都在流程图中用输入/输出符号表示。

处理 (Process):

流程图中使用处理符号来表示算术和数据移动指令。因此,加法、减法、乘法和除法的所有算术处理均由处理符号表示。将数据从主存储器的一个位置移动到另一个位置的逻辑过程也用这个符号表示。当要连续执行多条算术和数据移动指令时,通常将它们放在同一个处理盒中,并假定它们按出现的顺序执行。

流程 (Flowlines):

带箭头的流线用于指示操作流程,即指令执行的确切顺序。流程图的正常流程是从上到下,从左到右。仅当不遵循正常的从上到下流动时才需要箭头。然而,作为一种良好的做法,为了避免歧义,流线通常在符号的入口处用箭头绘制。良好的实践要求流线不应相互交叉,并且应尽可能避免此类交叉。

决定 (Decision):

决策符号在流程图中用于指示必须做出决策的点,并且可以分支到两个或多个备选点之一。下图显示了可以使用决策符号的三种不同方式。从这些例子中可以看出,决策的标准应该在决策框内清楚地指明。在执行期间,根据决策结果遵循适当的路径。

连接器 (Connector):

如果流程图变得很长,流程线会在许多地方开始交叉,这会导致混乱并降低流程图的可理解性。此外,在某些情况下,流程图变得太长而无法放入单个页面,并且无法使用流程线。因此,每当流程图变得足够复杂以致流线的数量和方向令人困惑或它分布在一页以上时,使用连接符符号代替流线是很有用的。此符号代表流程图的另一部分的入口或出口。
 
连接器符号由圆圈表示,圆圈内放置一个字母或数字以指示链接。当线路的使用令人困惑时,通常使用一对相同标记的连接器符号来表示连续流动。因此,具有相同标签的两个连接器与沿流线具有相同的功能。也就是说,它们显示了某个其他图表部分的退出,或者它们指示了图表另一部分的入场。
 
如何确定连接器是用作入口点还是出口点?答案很简单,如果箭头进入但没有离开连接器,那么它就是一个退出点,程序控制被转移到具有出口的相同连接器。
 
需要注意的是,连接符不用于表示任何操作,它们在流程图中的使用只是为了方便和清晰。

流程图类型:

对于流程图中应提供的细节数量,没有设定标准。概述程序主要部分或显示较少细节的流程图称为宏流程图。另一方面,具有更多细节的流程图称为微流程图或详细流程图。

流程图规则:

正如我们所知,程序员在创建流程图时有很大的自由度,但是在创建流程图时必须遵循一些一般规则和准则。这些规则和指南由美国国家标准协会推荐。各个计算机制造和数据处理部门通常具有相似的流程图标准。其中一些规则和准则如下:
  1. 首先绘制逻辑的主线,然后合并细节。
  2. 为给定的流程图保持一致的细节级别。
  3. 不要绘制每个细节。
  4. 流程图符号中的单词应该是常见的语句并且易于理解。建议使用以设计者自己的语言而不是面向机器的语言编写的描述性标题。
  5. 在流程图中使用名称和变量时要保持一致。
  6. 从左到右,从上到下构建流程图。
  7. 保持流程图尽可能简单。应尽可能避免跨越流线。
  8. 如果需要新的流程图页面,建议在输入或输出点断开流程图。此外,应使用正确标记的连接器来链接不同页面上的流程图​​部分。

流程图的优点:

更好的沟通:

由于流程图是程序的图形表示,因此程序员更容易通过流程图而不是程序本身向其他程序员或他的老板解释程序的逻辑。

有效流程图:

绘制软件系统逻辑主线的宏流程图成为一个系统模型,可以分解为详细的部分,以便对系统进行研究和进一步分析。

有效合成:

一群程序员通常与大型软件系统的设计有关。每个程序员只负责设计整个系统的一部分。因此,最初如果每个程序员为其设计部分绘制流程图,则可以将所有程序员的流程图放在一起以可视化整个系统设计。在这个阶段可以很容易地检测到连接系统各个部分的任何问题,并且可以相应地修改设计。因此,流程图在新程序和系统软件的设计中被用作工作模型。

高效编码:

一旦流程图准备好,程序员就会发现编写相关程序非常容易,因为流程图充当了他们的路线图。它引导他们从程序的起点走到终点,确保没有遗漏任何步骤。最终结果是以更快的速度开发出无错误的程序。

系统调试:

即使在程序设计中充分注意之后,程序中仍可能存在一些错误,因为设计者可能从未考虑过特定​​情况。只有当我们开始在计算机上执行程序时才会检测到这些错误。这种类型的程序错误称为错误,消除这些错误的过程称为调试。
 
一旦检测到错误,通过以流程图形式查看程序逻辑,就可以更容易地找出该错误的原因。流程图对于系统地检测、定位和消除程序中的错误非常有帮助。

系统测试:

测试是确认程序是否能够成功完成在指定约束下为其设计的所有工作的过程。为了测试程序,将不同的数据集作为该程序的输入,以测试程序逻辑中的不同路径。

流程图的限制:

尽管有许多明显的优点,流程图有几个局限性,如下所示:
  1. 流程图非常耗时。
  2. 由于流程图的符号字符串性质,程序逻辑中的任何更改或修改通常都需要一个全新的流程图。
  3. 没有标准来确定流程图中应包含的细节数量。

流程图示例

下面是几个流程图示例。了解如何实际应用流程图。

流程图示例 – 医疗服务

这是一个医院流程图示例,显示了如何处理临床病例。该流程图大量使用决策形状来表示替代流程。

流程图示例:医疗服务

流程图示例——简单算法

流程图也可用于可视化算法,无论其复杂程度如何。下面是一个示例,说明如何使用流程图来显示简单的求和过程。

流程图示例:简单算法

流程图示例 – 计算损益

下面的流程图示例显示了如何计算损益。

流程图示例:计算盈亏

 

 

Online Flowchart Tool
A Comprehensive Guide to Flowchart with 50+ Examples
Flowchart Tutorial (with Symbols, Guide and Examples)
Free Online Flowchart Editor - Diagrams
Flowchart Made Easy
Flowchart Tutorial - Visual Paradigm Online
Visual Paradigm Online for Office

 

posted on 2021-11-15 11:17  Lynch_Warren  阅读(2268)  评论(2编辑  收藏  举报

导航