任何复杂的算法,都可以由顺序结构、选择(分支)结构和循环结构三种基本结构组成。在构造算法时,也仅以这三种结构作为基本单元,同时规定基本结构之间可以并列和互相包含,不允许交叉和从一个结构直接转到另一个结构的内部去。结构清晰,易于正确性验证和纠正程序中的错误,这种方法就是结构化方法,遵循这种方法的程序设计,就是结构化程序设计。遵循这种结构的程序只有一个输入口和一个输出口。
结构化程序的概念首先是从以往编程过程中无限制地使用转移语句而提出的。转移语句可以使程序的控制流程强制性的转向程序的任一处,在传统流程图中,用"很随意"的流程线来描述转移功能。如果一个程序中多处出现这种转移情况,将会导致程序流程无序可寻,程序结构杂乱无章,这样的程序是令人难以理解和接受的,并且容易出错。尤其是在实际软件产品的开发中,更多的追求软件的可读性和可修改性,象这种结构和风格的程序是不允许出现的。为此提出了程序的三种基本结构。
在讨论算法时我们列举了程序的顺序、选择和循环三种控制流程,这就是结构化程序设计方法强调使用的三种基本结构。算法的实现过程是由一系列操作组成的,这些操作之间的执行次序就是程序的控制结构。1996年,计算机科学家Bohm和Jacopini证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成。所以,这三种结构就被称为程序设计的三种基本结构。也是结构化程序设计必须采用的结构。
结构化程序中的任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死循环。在程序的静态形式与动态执行流程之间具有良好的对应关系。
模块.