自顶向下,逐步求精
2017-11-29 14:29
190 查看
自顶向下是一种程序开发技术,其中问题被分解为更容易处理的子问题,这些子问题的解决方案组合起来构成整体问题的解决方案。
下面,采用“自顶向下,逐步求精”的技术来设计求一个班级测验成绩平均分的程序。
首先,给出表示“顶”的伪码:
Determine the class average for this qiuz.
这个顶是表示整个程序功能的一句话,但它不能够为我们编写C语言程序提供足够多的细节信息。所以,要逐步将其细化,即逐步求精。求精的过程是将“顶”划分为一系列更小的任务,并将这些任务按照它们将被处理的顺序罗列成一个任务清单。
下面是进行第一次求精的结果:
Initialize variables
Input, sum, and count the quiz grades
Calculate and printf the class average
采用顺序结构--
每一次求精的结果,都是对算法的完整描述,它们的差别只在于精华、细化的程度不同。
接着向更高一级精化,即进行第二次求精。在第二次求精中,开始接触到变量。这个程序需要一个不断增值的数据总和变量total,需要一个统计已处理数据个数的计数器counter,还需要一个用来接收用户输入成绩的变量grade,最后需要一个保存平均分的变量average。经过上面的分析,第一条伪码语句第二次求精的结果是:
Initialize total to zero
Initialize counter to zero
接下来对第二条伪码语句进行第二次求精。这条语句需要一个循环结构来实现成绩的逐个输入,采用“标记控制的循环”。首先用户逐个输入学生成绩,当最后一个合法的成绩被输入后,用户将输入“标记值”。每次接受到一个用户的输入,程序都要判断是否是“标记值”。若不是,则将输入累加到总和变量total中,并将计数器变量counter加一;若是,则终止循环。第二次求精的结果是:
Input the first grade
While the user has not as yet entered the sentinel
Add this grade into the running total
Add one to the grade counter
Input the next grade ( possibly the sentinel )
同理,最后一条伪码语句求精的结果是:
If the counter is not equal to zero
Set the average to the total divided by the counter
Print the average
else
Print " No grade were entered "
最后,方法总结:
下面,采用“自顶向下,逐步求精”的技术来设计求一个班级测验成绩平均分的程序。
首先,给出表示“顶”的伪码:
Determine the class average for this qiuz.
这个顶是表示整个程序功能的一句话,但它不能够为我们编写C语言程序提供足够多的细节信息。所以,要逐步将其细化,即逐步求精。求精的过程是将“顶”划分为一系列更小的任务,并将这些任务按照它们将被处理的顺序罗列成一个任务清单。
下面是进行第一次求精的结果:
Initialize variables
Input, sum, and count the quiz grades
Calculate and printf the class average
采用顺序结构--
每一次求精的结果,都是对算法的完整描述,它们的差别只在于精华、细化的程度不同。
接着向更高一级精化,即进行第二次求精。在第二次求精中,开始接触到变量。这个程序需要一个不断增值的数据总和变量total,需要一个统计已处理数据个数的计数器counter,还需要一个用来接收用户输入成绩的变量grade,最后需要一个保存平均分的变量average。经过上面的分析,第一条伪码语句第二次求精的结果是:
Initialize total to zero
Initialize counter to zero
接下来对第二条伪码语句进行第二次求精。这条语句需要一个循环结构来实现成绩的逐个输入,采用“标记控制的循环”。首先用户逐个输入学生成绩,当最后一个合法的成绩被输入后,用户将输入“标记值”。每次接受到一个用户的输入,程序都要判断是否是“标记值”。若不是,则将输入累加到总和变量total中,并将计数器变量counter加一;若是,则终止循环。第二次求精的结果是:
Input the first grade
While the user has not as yet entered the sentinel
Add this grade into the running total
Add one to the grade counter
Input the next grade ( possibly the sentinel )
同理,最后一条伪码语句求精的结果是:
If the counter is not equal to zero
Set the average to the total divided by the counter
Print the average
else
Print " No grade were entered "
最后,方法总结:
相关文章推荐
- “自顶向下,逐步求精”
- “自顶向下,逐步求精”---编程思想方法介绍
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下?逐步求精?
- “自顶向下,逐步求精”方法简要介绍
- 自顶向下,逐步求精
- 数据仓库的模型设计 A. 数据建模方法论 数据仓库模型设计遵循“自顶向下、逐步求精”的设计原则。 模型设计分为三个阶段: 1,概念模型 对业务的范围和使用,从高度上进行抽象概括,也就是划分主题域。 一
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 程序员的基本思想——自顶向下,逐步求精。
- 自顶向下,逐步求精
- 自顶向下 逐步求精
- 自顶向下,逐步求精
- 简析“自顶向下,逐步求精”的程序设计方法
- 自顶向下 逐步求精
- 简述“自顶向下,逐步求精”——面向过程程序设计方法
- 自顶向下,逐步求精
- 自顶向下,逐步求精
- 自顶向下,逐步求精