当我们遇到一个比较大的问题时,如果随便找个地方开始,想到哪里做到哪里,会导致思路混乱,结构混乱。所以我们应该使用自顶向下,逐步求精的方法,把一件事情模块化,细节化。将复杂的大问题分解为相对简单的小问题,找出每个问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题,其核心本质是”分解”。
接着我们利用写洗衣机运转的伪代码进行分析:
先将关键模块功能写出
Ⅰ.注水
INPUT TargetVolume
waterinswitch(open)
REPEAT
UNTIL getwatervolume == TargetVolume
Ⅱ.浸泡
REPEAT
UNTIL getwatervolume == WAITTIME
Ⅲ.冲洗
INPUT TargetTime
REPEAT
motorrun(left)
motorrun(right)
UNTIL timecounter == TargetTime
motorrun(stop)
Ⅳ.排水
wateroutswitch(open)
REPEAT
motorrun(left)
motorrun(right)
UNTIL getwatervolume == 0
motorrun(stop)
整理全部模块后,结合在一起得到总程序
PUT clothes INTO WASHMACHINE
INPUT TargetVolume
INPUT TargetTime
waterinswitch(open)
REPEAT
UNTIL getwatervolume == TargetVolume
waterinswitch(close)
REPEAT
UNTIL getwatervolume == WAITTIME
REPEAT
motorrun(left)
motorrun(right)
UNTIL timecounter == TargetTime
motorrun(stop)
wateroutswitch(open)
REPEAT
motorrun(left)
motorrun(right)
UNTIL getwatervolume == 0
motorrun(stop)
wateroutswitch(close)
IF WASHMACHINE is halt
halt(success)
ELSE
halt(failure)