结对项目—电梯调度
张丹丹 蔡容玉
1 、背景 该大楼有21层,从地面0 , 1 , ... 20 。地板0是地下停车场水平, 1楼是大堂的水平。大多数人都在
走出大楼通过这些2层。一个关于电梯调度提示:当总重量在45公斤的最大限制,或乘客的数量已经在最大,电梯不需
要更多的外部请求停止。 电梯调度程序不知道有多少乘客等待每层,它不知道有多少乘客将出现。这与现实世界的情
况是一样的。
结对开发要求:
•每一对学生将设计一套接口和类定义这样一种算法提供者可以提供他/她实现“电梯调度程序”类。
•2.2 避免出现 “公共汽车”最坏情况的算法。该算法把电梯作为总线,它从底部到顶部,停在每一层楼,打开门,让人们进出,然后把门关上,继续前进。之后到达顶层,它会下去。该算法能够满足所有的要求,但它显然不是最快的算法。
•2.3 代码要求:它具有生成0 (零)的代码分析警告和错误。它必须是正确的。
一个关于电梯调度提示:
当总重量在45公斤的最大限制,或乘客的数量已经在最大,电梯不需要更多的外部请求停止。
电梯调度程序不知道有多少乘客等待每层,它不知道有多少乘客将出现。这与现实世界的情况是一样的。
设计:
我们此次结对设计的想法是使用C++语言实现程序,一来我们比较熟悉C++,二来C++中的类与算法我们比较熟悉,也便于编写调用。关于电梯调度,电梯的调度策略也很简单,在一次向上的过程中,如果有人在下面按了键,电梯并不直接向下,而是运行到此次向上的最顶层,然后再下次向下运行的过程中去服务这个请求,如果有人在上面按了键,而电梯在向下运行,则电梯运行到底再上来开门。各层的按钮分为上下,最后我们会设置几个参数,用来统计电梯中的人数与重量,若超标则电梯发出警示。
时间规划:
本周每个晚上我们都会上网查找一些关于电梯调度的资料,并且我们编写了一些小的模块,今晚我们整理出了这一篇随笔。