您的位置:首页 > 运维架构

自顶向下,逐步求精(Top-down)的程序设计方法简介

2017-12-01 14:04 357 查看
程序设计初学者常常受困于不会想问题:“不知道让计算机解决这个问题该如何做”。其实,程序员的一个基本功是,能够将复杂的问题分解开来。学会分解任务,因超级大分为大的、中的、小的、超小的,直到能用很直接的方法解决。记住一个很管用的策略:自项向下,逐步求精。不管做何事,都拿这个策略套一套,程序能编好,其他事也都能做。

自顶向下的意思是:是将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。

精益求精指的是:是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编程问题。

不妨将洗衣机作为例子,用Top-down方法描述洗衣机控制程序:

我们先将正常洗衣的任务分解为各个小步骤:

0)选择洗衣模式:对应水位,注水时间

1)注水, 水位计计水位

2)浸泡, 计时器计时

3)电机转动, 左3次,右3次

4)排水, 水位计计水位

5)电机转动(脱水)

6)结束

分解完成后,我们根据每个小步骤,写出伪代码:

READ 用户选择模式

REPEAT

注水

UNTILL 水位=注水要求

REPEAT

浸泡

UNTILL 时间 = 时间要求

WHILE(电机启动时间>0)

REPEAT

电机左转3次

电机右转3次

时间-1单位

ENDWHILE

WHILE(水位!=0)

排水

ENDWHILE

FOR(脱水时间>0)

电机转动

ENDFOR

关闭电源

现在,根据每个步骤的伪代码,不难写出相应的程序语句。并且,弄清每个步骤后,我们只需对某个步骤进行编辑,就能使得洗衣机拥有多种洗涤模式。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: