自顶向下,逐步求精

自顶向下,逐步求精

程序设计初学者常常受困于不会想问题:“不知道让计算机解决这个问题该如何做”“不知道如何利用程序来方便日常生活”。而自顶向下,逐步求精这个方法这帮助程序设计初学者解决了这些问题。它通过分解任务,因超级大分为大的、中的、小的、超小的,直到能用很直接的方法解决,之后再将一切连接起来,便能产生一个解决生活问题的总程序。

起源

这里写图片描述

结构化程序设计由迪克斯特拉(E.W.dijkstra)在1969年提出,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变单纯而明确,为设计一些较大的软件打下了良好的基础。

由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。

按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合: 顺序结构、选择结构和循环结构来实现。

实例1

这里写图片描述
0)选择注水量
1)注水, 量水器计水量
2)浸泡, 计时器计时
3)电机转动频率 清洗时间
4)排水,量水器计水量
5)电机转动(脱水) 脱水时间
6)结束

伪代码

0) Read注水量a
1) Read 此时水量 while(水量小于a) 注水
2) read 时间b while(时间大于b) 浸泡 时间++
3)read 频率c 清洗时间d While(d!=0) 左转c次 右转c次 d–
4) Read 此时水量e
While(e==0) 停止排水
5)read 脱水时间f While(f==0)
停止脱水
6)结束

实例2

在城市交通系统的运用:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值