1.4.3 算法的表示

算法的表示方法很多,主要有传统流程图、N-S图、伪代码、自然语言和计算机程序语言等。这里重点介绍传统流程图和N-S图。

1.传统流程图

用图形表示算法既直观形象又易于理解,流程图就是用一些图框来表示各种操作的图形。美国国家标准化协会(ANSI)规定了一些常用的流程图符号,如图1-1所示。

图1-1 流程图符号

图1-1中菱形框的作用是对一个给定的条件进行判断,根据给定的条件是否成立来决定如何执行其后的操作。它有一个入口,两个出口,如图1-2所示。

菱形框两侧的“Y”和“N”表示“是”(YES)和“否”(NO)。

【例1.5】画出求1+2+3+…+100之和的流程图。流程图如图1-3所示。

图1-2 条件判断示意图

图1-3 例1.5的流程图

2.N-S图

1973年美国学者提出了一种新的流程图形式,在这种流程图里,完全去掉了带箭头的流程线,全部算法写在一个矩形框内,在框内还可以包含其他从属于它的方框,即由一些基本的框组成一个大框。这种流程图适于结构化程序设计算法的描述。

N-S图用以下流程图符号表示:

(1)顺序结构,用图1-4所示的形式表示。A和B两个框表示顺序结构。

(2)选择结构,用图1-5所示的形式表示。当P条件成立时执行A操作,当P条件不成立时执行B操作。

(3)循环结构,分为当型循环结构和直到型循环结构,当型循环结构如图1-6所示,当条件P成立时反复执行A操作,当条件P不成立时结束循环;直到型循环结构如图1-7所示,反复执行A操作,直到条件P成立。实际上也是当P不成立时退出循环,只是A至少执行一次。

图1-4 顺序结构

图1-5 选择结构

图1-6 当型循环结构

图1-7 直到型循环结构

例1.5的N-S图如图1-8所示。

图1-8 例1.5的N-S图