【时时三省】(C语言基础)结构化程序设计方法
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省
结构化程序设计方法
结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。怎样才能得到一个结构化的程序呢?如果面临一个复杂的问题,是难以一下子写出一个层次分明、结构清晰、算法正确的程序的。结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。具体说,采取以下方法来保证得到结构化的程序:
( 1 )自顶向下;
( 2 )逐步细化;
( 3 )模块化设计;
( 4 )结构化编码。
在接受一个任务后应怎样着手进行呢?
有两种不同的方法:
一种是自顶向下,逐步细化;一种是自下而上,逐步积累。以写文章为例来说明这个问题。有的人胸有全局,先设机好整个文章分成哪几个部分,然后再进一步考虑每一部分分成哪几节,每一节分成哪几段每一段应包含什么内容。如图示:
用这种方法逐步分解,直到作者认为可以直接将各小段表达为文字语句为止。这种方法就叫做“自顶向下,逐步细化”。
另有些人写文章时不拟提纲,如同写信一样提笔就写,想到哪里就写到哪里,直到他认为把想写的内容都写出来了为止。这种方法叫做自下而上,逐步积累。
显然,用第一种方法考虑周全,结构清晰,层次分明,作者容易写,读者容易看。如果发现某一部分中有一段内容不妥,需要修改,只须找出该部分,修改有关段落即可,与其他部分无关。提倡用这种方法设计程序,这就是用工程的方法设计程序。
应当掌握自顶向下、逐步细化的设计方法。这种设计方法的过程是将问题求解由抽象逐步具体化的过程。
在程序设计中常采用模块设计的方法,尤其当程序比较复杂时,更有必要,在拿到一个程序模块(实际上是程序模块的任务书)以后,根据程序模块的功能将它划分为若干个子模块,如果这些子模块的规模还嫌大,可以再划分为更小的模块,这个过程采用自顶向下的方法来实现。
程序中的子模块在C语言中通常用函数来实现
程序中的子模块一般不超过50行,即把它打印输出时不超过一页,这样的规模便于组织,也便于阅读。划分子模块时应注意模块的独立性,即使用一个模块完成一项功能,耦合性愈少愈好。
结构化程序设计方法用来解决人脑思维能力的局限性和被处理问题的复杂性之间的矛盾。
在设计好一个结构化的算法之后,还要善于进行结构化编码( coding )。所谓编码就是将已设计好的算法用计算机语言来表示,即根据已经细化的算法正确地写出计算机程序。结构化的语言(如Pascal , C , Visual Basic等)都有与3种基本结构对应的语句,进行结构化编程序是不困难的。