作者:AU_123_126_218 | 来源:互联网 | 2023-08-09 09:44
程序设计初学者常常受困于不会想问题:“不知道让计算机解决这个问题该如何做”。其实,程序员的一个基本功是,能够将复杂的问题分解开来。学会分解任务,因超级大分为大的、中的、小的、超小的,直到能用很直接的方法解决。记住一个很管用的策略:自项向下,逐步求精。不管做何事,都拿这个策略套一套,程序能编好,其他事也都能做。
自顶向下的意思是:是将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。
精益求精指的是:是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编程问题。
不妨将洗衣机作为例子,用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
关闭电源
现在,根据每个步骤的伪代码,不难写出相应的程序语句。并且,弄清每个步骤后,我们只需对某个步骤进行编辑,就能使得洗衣机拥有多种洗涤模式。