三、N-S图(盒图)1、N-S图简介 前面讲到流程图的简化时,匠人已经说过:可以把一些不会产生歧义的流程线(箭头)省略。持这种想法的显然不止是匠人一个,据说有两个美国佬走得更远。这两位名叫I.Nassi和B.Shneiderman的“国际友人”经过潜心研究发现了个规律:既然任何算法都是由前面介绍的三种基本结构组成,那么各基本结构之间的流程线就是多余的。
于是他们设计了一种新的算法表示法。用若干个大大小小的框图,通过堆砌或嵌套,来表示程序的流程。这种流程图被以两个美国天才的名字命名为“N-S图”。(匠人发现天才也得赶早,否则好事都会被别人抢了去!)
那一个个框,就像一个个封闭的盒子。所以,N-S图又被形象地称为“盒图”。
N-S图(盒图)的特性就像盒子一样,结构性很强。由于取消了流程线,象“goto”这样乱跳的语句,也就没有了表达的形式。所以,N-S图又被人称为是“结构化流程图”。也就是说,对于传统的流程图,结构化编程依赖于程序员的自觉自律;而对于N-S图,结构化编程则是由绘图规则来强制保证的。你想不结构化都不行,呵呵。N-S图除了表示几种标准结构的符号之处,不再提供其他如“流程线”这样的描述符号,这就有效地保证程序的质量。
NS图的另一个优点是形象直观。例如循环的范围、条件语句的范围都是一目了然的,所以容易理解设计意图,为编程、排错、调试、维护都带来了便利。
(未完待续) |