自顶向下逐步求精
2017-12-01 12:43
155 查看
自顶向下:将复杂的大问题分解为相对简单的小问题,找出每个问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。其核心本质是”分解”。
逐步求精:将现实问题经过几次抽象(细化)处理,最后到求解域中只是一些简单的算法描述和算法实现问题。即将系统功能按层次进行分解,每一层不断将功能细化,到最后一层都是功能单一、简单易实现的模块。
洗衣机的运行过程是由数个小功能完成的,而将这些小过程实现就需要自顶向下逐步求精的方法。
对洗衣机而言,浸泡,洗涤,漂洗,脱水是其中最重要的四个过程。而这四个过程又是通过脱水的时间、进水的时间或量、以及洗涤时洗衣机滚轴的转动方式等等方式实现。
其运行的伪代码如下:
逐步求精:将现实问题经过几次抽象(细化)处理,最后到求解域中只是一些简单的算法描述和算法实现问题。即将系统功能按层次进行分解,每一层不断将功能细化,到最后一层都是功能单一、简单易实现的模块。
例:洗衣机
洗衣机的运行过程是由数个小功能完成的,而将这些小过程实现就需要自顶向下逐步求精的方法。
对洗衣机而言,浸泡,洗涤,漂洗,脱水是其中最重要的四个过程。而这四个过程又是通过脱水的时间、进水的时间或量、以及洗涤时洗衣机滚轴的转动方式等等方式实现。
其运行的伪代码如下:
READ 用户选择模式 REPEAT 注水 UNTILL 水位=注水要求 REPEAT 浸泡 UNTILL 时间 = 时间要求 WHILE(电机启动时间>0) { REPEAT 电机左转3次 电机右转3次 时间-1单位 } ENDWHILE WHILE(水位!=0) 排水 ENDWHILE FOR(脱水时间>0) 电机转动 脱水时间-1单位 ENDFOR 关闭电源