首页 百科知识 程序流程图

程序流程图

时间:2022-10-09 百科知识 版权反馈
【摘要】:程序流程图独立于各种程序设计语言,且直观、清晰,易于学习掌握。尽管程序流程图被广泛使用,但是其不够规范、符号不统一,且使用箭头过于灵活,容易导致流程图难以看懂,导致使用程序流程图的程序设计人员逐渐减少。程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。

5.2.1 程序流程图

程序流程图(Program Flow Chart)也称为程序框图,是程序设计中应用最广泛的算法描述工具。程序流程图独立于各种程序设计语言,且直观、清晰,易于学习掌握。从20世纪40年代末到20世纪70年代中期,程序流程图一直是传统的软件工程方法的结构化设计技术所使用的经典设计工具。尽管程序流程图被广泛使用,但是其不够规范、符号不统一,且使用箭头过于灵活,容易导致流程图难以看懂,导致使用程序流程图的程序设计人员逐渐减少。

程序流程图一般包含三种基本元素:加工处理步骤、逻辑条件和控制流方向。

(1)加工处理步骤一般用矩形框来表示,如图5.1所示,其中A为该处理框的名字,是表示该加工处理操作的一个抽象的名字。

(2)逻辑条件用菱形来表示,如图5.2所示,其中B代表逻辑条件的判断表达式,而两个出口箭头则表示表达式的逻辑值为T或F的两个不同出口。

img86

图5.1 用方框代表加工处理步骤

img87

图5.2 用菱形代表逻辑条件

(3)控制流向用箭头表示,如图5.1和图5.2所示的箭头,都是表示程序的控制流向。

为了实现使用程序流程图描述结构化程序,必须限制程序流程图只使用以下五种基本控制结构。

(1)顺序型。顺序型由几个连续的加工处理步骤依次排列构成,如图5.3(a)所示。

(2)选择型。选择型是指根据逻辑条件中判断表达式的取值来选择执行哪个加工处理步骤,如图5.3(b)所示。

(3)先判定(While)型循环。先判定型循环是在循环控制条件成立时,重复执行特定的加工处理步骤,而当循环控制条件不成立时,退出循环。如图5.3(c)所示。

(4)后判定(until)型循环。后判定型循环是重复执行特定的加工处理步骤。直到循环控制条件成立。在这个过程中,当循环控制条件不成立时,继续重复循环内的加工处理步骤;而在循环控制条件成立时,退出循环。如图5.4(a)所示。

(5)多情况(case)型选择。多情况型选择列举了多个加工处理步骤,程序根据控制变量的值,选择其中一个加工步骤来执行。如图5.4(b)所示。

img88

图5.3 程序流程图基本控制结构(1)

img89

图5.4 程序流程图基本控制结构(2)

任何复杂的程序流程图都是由以上五种基本控制结构嵌套组合而成,如图5.5所示,这是一个结构化程序的流程图,其中包含这上述说明的几种基本控制结构,P1为选择型的逻辑条件,P2为后判定型循环的逻辑条件,P3为多情况型选择的逻辑条件,P4为先判定型循环的逻辑条件。

img90

图5.5 由几个基本控制结构嵌套组合而成的流程图

为了使得流程图的使用更加规范化,很有必要对流程图所使用的符号作出确切的规定。国家标准《信息处理——数据流程图、程序流程图、系统流程图、程序网络图和系统资源图的文件编制符号及约定》(GB/T1526-1989)中对程序流程图的符号作出了规定。图5.6给出了由国际标准化组织提出的,并由中国国家技术监督局批准的在程序流程图中使用的部分标准符号。

img91

图5.6 程序流程图的符号

程序流程图的主要缺点如下:

(1)程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。

(2)程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。

(3)程序流程图不易表示数据结构

这些缺点均构成流程图中的隐患。为防患于未然,在使用程序流程图时,应该注意以下几点:

①必须严格按结构程序设计方法的三种基本控制结构进行设计。

②严格控制箭头的任意转向。

③用其他描述工具(如IPO图)辅助描述每个模块的有关数据,以弥补流程图之不足。应该指出的是,详细的微观程序流程图——每个符号对应于源程序的一行代码,对于提高大型系统的可理解性作用甚微。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈