<p> 结构程序设计的概念最早是由E.W.Dijkstra提出来的,他指出:“可以从高级语言中取消GOTO语句,程序质量与程序中所包含的GOTO语句的数量成反比”。并指出结构程序设计并非简单的取消GOTO语句,而是创立一种新的程序设计思想、方法和风格,以显著提高软件生产率和质量。<br> 提高程序可读性的关键是使程序结构简单清晰,结构化程序设计(SP)方法是达到这一目标的重要手段。<br> 结构化程序设计是一种程序设计技术,它采用自顶向下,逐步求精的程序设计方法和单入口和单出口的控制结构。<br> 具体来说,结构化程序设计技术主要具有以下特点:<br> (1)自顶而下,逐步求精<br> 这种逐步求精的思想符合人类解决复杂问题的普遍规律,从而可以显著提高软件开发的效率。而且这种思想还体现了“先全局,后局部”、“先抽象,后具体”的方法,使开发的程序层次结构清晰,易读、易理解还易验证,因而提高了程序的质量。<br> 将程序自顶向下逐步细化的分解过程用一个树状结构来描述,如下图所示。<br> (2)单入口和单出口的控制结构<br> 结构化的程序是由且仅由顺序、选择、循环三种基本控制结构组成,既保证了程序结构清晰,又提高了程序代码的可重用性。这三种基本结构可以组成所有的各种复杂程序。<br> 结构化程序设计的基本原理中一个重要的概念是“模块化”。因为要实现结构化的程序设计总体的思想是:自顶向下,逐步求精,分而治之。相应的结构化程序设计的步骤如下图所示。<br> 模块是由边界元素限定的相邻的程序元素的序列,而且有一个总体标志符来代表它。<br> 所谓模块化,即是将一个大任务分成若干个较小的任务,较小的任务又细分为更小的任务,直到更小的任务只能解决功能单一的任务为止,一个小任务称为一个模块。各个模块可以分别由不同的人编写和调试。把大任务逐步分解成小任务的过程可以称为是“自顶向下,逐步细化”的过程。<br> 对于模块的设计和实现有以下5条基本的标准:<br> 1.可分解性<br> 2.可组装性<br> 3.可理解性<br> 4.连续性<br> 5.保护性<br> 遵循以上标准是进行结构化程序设计时运用模块化原理的基本准则,这样设计出来的程序不但软件结构清晰,而且代码也有很好的可读性和可维护性。</p>