“自顶向下,逐步求精”方法简要介绍
来源:互联网 发布:apache 2.2.3 漏洞 编辑:程序博客网 时间:2024/06/05 15:35
什么是自顶向下,逐步求精
- “自顶向下, 逐步求精”是结构化程序设计常见的思路。
- “自顶向下”是将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。
- “逐步求精” 是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编程问题。
总的来说,就是采用模块分解与功能抽象和分而治之的方法分解细化大问题到足以解决的小问题。
类比
数学上的分析法是“自顶向下, 逐步求精”思想的一种展现。分析法由果索因,由需知逐步推向已知结果,最后由已知的能解决的问题得到未知问题的结果。
借由分析的过程,可以将复杂问题逐步简单化,直至解决问题。
如:要判断两个根式的大小,可以将其进行适当的变换直到问题归结为判断两个整数的大小。
程设实例
问题:
分析:
题目显然是让我们打印一个旗帜,输入的第一个数字是其行数,第二个数字是其列数,再仔细分析发现整图案可以分为三部分,其中上半部分有星号空格和等号,下半部分全是等号;
再细分上半部分又可分为左半部分和右半部分,左半部分奇数行打印星号在前,空格在后,两者交叉出现,右半部分奇数行全为等号,偶数行全为空格;
最后再考虑每个符号出现的位置即可写出答案。
1. 根据总思路写出主程序:
int main(){ int m,n; scanf("%d%d",&m,&n); for(int j=0 ; j < m ; ++j){ if (j < m/2){ print_left(n,j); print_right(n,j); } else print_down(n,j); printf("\n"); }}
先读取输入数据,再按行依次打印上半部分的左边和右边和下半部分,打完每行后输出换行符。
2. 打印上半部分每行的左半部分。
void print_left(int n,int j){ if (j%2 == 0){ for (int i=0 ; i < n/2 ; i++){ if (i%2 == 0) printf("*"); else printf(" "); } } else { for (int i=0 ; i < n/2 ; i++){ if (i%2 == 0) printf(" "); else printf("*"); } }}
如果是奇数行,则先打印星号再打印空格,偶数行则先打印空格再打印星号,共打印到列数的一半。
3. 同理,打印上半部分每行的右半部分
void print_right(int n,int j){ for (int i=0 ; i < n/2 ; i++){ if (j%2 ==0) printf("="); else printf(" "); }}
奇数行打印等号,偶数行打印空格,打印列数的一半次。
4. 打印下半部分
void print_down(int n,int j){ for (int i=0 ; i < n ; i++){ if (j%2 == 0) printf ("="); else printf(" "); }}
就这样,应用“自顶向下,逐步求精”的方法,通过分析旗帜的构成,分部求解,我们得到了这道题的解法。
阅读全文
0 0
- “自顶向下,逐步求精”方法简要介绍
- “自顶向下,逐步求精”---编程思想方法介绍
- 介绍“自顶向下,逐步求精”的方法
- “自顶向下,逐步求精”思想方法的介绍
- “自顶向下,逐步求精”方法介绍
- 自顶向下,逐步求精方法
- "自顶向下,逐步求精"的简略介绍
- “自顶向下, 逐步求精”的程序设计方法。
- 浅谈‘’自顶向下,逐步求精‘’方法
- “自顶向下 逐步求精”的设计方法
- 程序设计中自顶向下,逐步求精的方法
- “自顶向下, 逐步求精”的程序设计方法。
- 自顶向下逐步求精的程序设计方法
- 自顶向下,逐步求精 方法简介
- “自顶向下,逐步求精”的方法
- 自顶向下,逐步求精的程序设计方法。
- “自顶向下,逐步求精”的编程方法
- “自顶向下,逐步求精”的程序设计方法
- POJ 1942.Paths on a Grid
- SSM项目从零开始到入门008-mybatis传递多个参数问题
- 解决ScrollView和SwipeRefreshLayout滑动时的冲突
- 浅析人脸检测之Haar分类器方法
- html5的localStorage之【增、删、改、查】
- “自顶向下,逐步求精”方法简要介绍
- Android中的UID和AppId
- 使用arpspoof进行arp欺骗
- 循环语句中的 do~while语句 for语句 的练习
- 前端UI框架的定义
- 最大连续子序列
- 11.20-12.1 配置环境
- 五大主流浏览器及四大内核
- 欢迎使用CSDN-markdown编辑器