结构化程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构化程序设计
结构化程序设计的概念首先是从以往编程过程中无限制地使用转移语句而提出的,比如汇编的jmp,c的goto。转移语句可以使程序的控制流程强制性的转向程序的任一处,在传统流程图中,就是用"很随意"的流程线来描述这种转移功能。如果一个程序中多处出现这种转移情况,将会导致程序流程无序可寻,程序结构杂乱无章,这样的程序是令人难以理解和接受的,并且容易出错。在需要修改程序时很容易牵一发而动全身,给后期的软件维护带来巨大的不便。尤其是在实际软件产品的开发中,更多的追求软件的可读性和可修改性,象这种结构和风格的程序是不允许出现的。
结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用goto语句。
(1)自顶向下。程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。
(2)逐步求精。对复杂问题,应设计一些子目标作过渡,逐步细化。
(3)模块化。一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。
(4)模块设计要求高内聚、低耦合。一个完整的系统,模块与模块之间,尽可能的使其独立存在。
也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。
(5)限制使用goto语句,尽量少用或者不用。
思想
结构化程序设计是E.W.Dijikstra在1965年提出的。它的主要观点是采用自顶向下、逐步求精的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、重复三种基本控制结构构造。
顺序结构就是从头到尾一次执行每一个语句
分支结构根据不同的条件执行不同的语句或者语句体
循环结构就是重复的执行语句或者语句体,达到重复执行一类操作的目的
2描述工具
详细描述处理过程常用三种工具:图形、表格和语言。
图形:程序流程图、N-S图、PAD图
表格:判定表
语言:过程设计语言(PDL)
结构化程序设计的概念是E.W.Dijkstra在60年代末提出的,其实质是控制编程中的复杂性。结构化程序设计曾被称为软件发展中的第三个里程碑。该方法的要点是:
(1)没有GOTO语句;
(2)一个入口,一个出口;
(3)自顶向下、逐步求精的分解;
(4)主程序员组。
其中(1)、(2)是解决程序结构规范化问题;(3)是解决将大划小,将难化简的求解方法问题;(4)是解决软件开发的人员组织结构问题。