自顶向下
即将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。
逐步求精
即将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编程问题。
例子
洗衣机
其实洗衣机的工作原理中也应用到了“自顶向下,逐步求精”的方法。
下面我们通过洗衣机工作的一段伪代码来展示。
1)选择洗衣模式:对应水位,注水时间
2)注水, 水位计计水位
3)浸泡, 计时器计时
4)电机转动, 左 3 次,右 3 次
5)排水, 水位计计水位
6)电机转动(脱水)
7)结束
READ 用户选择模式
REPEAT
注水
UNTILL 水位=注水要求
REPEAT
浸泡
UNTILL 时间 = 时间要求
WHILE(电机启动时间>0)
REPEAT
电机左转 3 次电机右转 3 次
以上便是洗衣机工作中某环节程序的伪代码。
将其转化为机器认识的指令并有序执行,我们就可以一步步控制洗衣机完成工作。改动程序中的部分参数,我们便可以改变洗衣机的洗衣模式。