“自顶向下,逐步求精”

来源:互联网 发布:java 16进制颜色转rgb 编辑:程序博客网 时间:2024/05/01 13:33

所谓“自顶向下,逐步求精”的方法,是指将复杂的问题分解成简单问题,逐个突破。
现以洗衣机运行程序为例
洗涤流程如下:
这里写图片描述
预设指令如下:
waterinswitch(openclose) // open 打开上水开关, close关闭
wateroutswitch(openclose) // open 打开排水开关, close关闭
getwatervolume() //返回洗衣机内部水的高度
motorrun(direction) *// 电机转动。 left左转, right右转, stop停
timecounter() // 返回当前时间计数,以秒为单位
halt(returncode) **//停机, success 成功 failure 失败
伪代码如下:
Washing(洗涤次数,转动次数)
{
//SET Counter1 to 0
//WHILE Counter is less than 洗涤次数
//Waterinswitch(open)
//WHILE Getwatervolume() is less than Thelimitofheight
//IF Timecounter is more than Thelimitoftime
//RETURN Failure
//ENDWHILE
//Waterinswitch(Close)
//SET Counter2 to 0
//WHILE Counter2 is less than 转动次数
//Motorrun(left)
//Motorrun(right)
//Motorrun(stop)
//ADD 1 to Counter
//ENDWHILE
//Wateroutswitch(open)
//Wateroutswitch(close)。
//ENDWHILE
//RETURN Success
}
Main()
{
//READ 洗涤方式
//CASE 洗涤方式OF
//正常洗涤:CALL Washing with洗涤次数(6),转动次数(3) RETURNING Bool
//快速洗涤:CALL Washing with洗涤次数(2), 转动次数(1)RETURNING Bool
//ENDCASE
//HALT()
}

原创粉丝点击