面对一个大问题时,运用“自顶向下,逐步求精”的方法可以很好地找到解决问题的方法。
下面以对洗衣机的运行编程
总目标
当然是洗衣服啊还用说吗
wash_clothes
分解
我们将洗衣服的过程按顺序分解开来,可以有注水,波轮/滚筒转动,排水等环节
water_in
motor_run
water_out
进一步分解
对每一步我们都可以再分解,例如进水时先要打开进水阀门,水位到了之后再关上进水阀门,以此类推
water_switch_in(open)
while (water_volume < X)
endwhile
water_switch_in(close)
while (time < Y)
motor_run(left)
wait(Z)
motor_run(right)
wait(Z)
endwhile
water_switch_out(open)
while (water_volume > 0)
endwhile
water_switch_out(close)
就这样,我们用“自顶向下”的方法把问题按步骤列出,再“逐步求精”,把问题细化直至到达可以方便地编程解决的程度。
同时,我们也可以用函数对一些可复用的代码求精,减少工作量。
不单在编程领域,这样的一种方法对求解各种问题都能提供帮助