自顶向下方法的四个主要步骤:
1.分析问题:
要理解问题,列出重要的信息,明确采用什么样的解决方案。列出你对问题或信息的假设。思考如何解决问题,开发一个全面的算法或通用的方案。
2.编写主要模块,再写其余模块:
用自然语言或伪代码在主模块中重述问题,用模块名把问题分解成功能区块。如果主模块太长,说明这一层中的细节太多了。此时可以引用一些控制结构。如果必要,可以进行逻辑重组,把细节推延到下一层模块。在主模块中所要做的,只是给下一层中每个解决任务的模块一个名字,要采用含义明确的标识符,增强程序的可读性。
编写方案中的层数并不确定,每一层中的模块可以载入多个下层模块。虽然上层模块引用的是未成文的下层模块,但上层模块必须完整。不断细化每个模块,直到模块中的每条语句都是具体的步骤为止。
3.对细节之处进行修改:
有时候会有些大致相同的部分会有细微变化,一定要耐心理清头绪。
多说无益,举例分析:
求1+2+3+…+100
解题思路为:
设:和用sum表示,循环100次,第i次循环将i累加到sum
sum初值为0;
i初始为1,每循环一次增加1,直到100
下面是解决这个问题的算法的不同描述形式:
用while循环语句写的程序
include
using namespace std;
int main( )
{
int i=1,sum=0;
while (i<=100)
{ sum=sum+i;
i++;
}
cout<<”sum=”<
include
using namespace std;
int main( )
{
int i,sum=0;
for (i=1;i<=100;i++)
sum=sum+i;
cout<<”sum=”<