Tanky WooRSS

关于结构化程序设计思想

27 Jun 2010
这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。

前段时间看了CSDN的《IT学生解惑真经》(很不错的文章,我觉得每个IT学生都应该看一看),上面再讲学习C时要掌握结构化程序设计思想,故在网上找到一篇写的比较全面的,在这里和大家一起分享:

计算机语言只是一个编程工具,学习程序设计,最重要的是学会针对各种类型的问题,设计出有效的解决方法和步骤,而不应只限于会用某一种计算机语言.当我们要编写一个程序时,总要首先想好这个程序的目的是什么,怎样去实现它,即先进行什么处理,后进行什么处理,这种为解决一个问题而采取的方法和步骤称为"算法".

对同一问题,可以有不同的解决方法和步骤(即算法).例如,求1+2+3+…+100,可以采用这样的方法:

引用

先计算1+2,再加3,再加4,一直加到100;

 

也可以用这样的方法:

引用

100+(1+99)+(2+98)+(3+97)…+(49+51)+50=100+49*50+50=5050;

 

当然还有其他方法,一般而言,总是希望能采用简单的和运算步骤少的方法.也就是说,为了有效地解决问题,不仅需要保证算法正确,还要考虑到算法的质量,很多时候程序设计人员面临的问题就是寻找一个合适的算法.例如,一个熟练的程序员,要设计一个下棋的游戏程序,对他而言,C语言的编程规则已经清楚,他所面临的核心问题是寻找一个可以模拟人下棋的算法.由此可以看出,算法在软件设计中具有重要地位.

结构化程序设计是近年来被广泛采用的一种程序设计方法.这种方法使程序层次分明,结构清晰,有效地改善了程序的可靠性,提高了程序设计的质量和效率.

结构化程序设计的基本思想是:任何程序都可以用3种基本结构表示,这3种基本结构分别是:

引用

顺序结构,选择结构(也称分支结构)和循环结构

 

来表示.由它们经过反复组合,嵌套构成的程序称为结构化程序.具体说,采取以下方法就能保证得到结构化的程序.

引用

1,自顶向下 2,逐步细化 3,模块化设计

4,结构化编码

 

采用自顶向下,逐步细化的方法可以使程序的结构清晰,便于阅读与修改.就像写文章一样,应先设想好整个文章分成哪几部分,然后进一步考虑每一部分分成哪几节,每一节又分成哪几小段,每一段包含什么内容.

结构化程序具有以下特征:

引用

1,一个程序单元由顺序,选择,循环这3种基本结构组成. 2,一个大的程序由若干个不同功能的小模块组成

3,每个小模块只有一个入口和一个出口.

 

引用

小提示:N-S流程图是1973年由美国学者I.Nassi和B.Shneiderman所提出的一种新的流程图形式.在N-S结构流程图中,完全去掉了带箭头的流程线,全部算法都写在一个大矩形框内,在该框中还包括其他的从属于它的框,或者说由一些基本的框组成一个大框.这种流程图很适于结构化设计,因而十分流行.