• 电梯调度


    问题:

    某大厦,一共四部电梯,二十一层楼,一二两部电梯限乘客10人限重800KG,三四两部电梯限20人限重2000Kg。实现电梯正常调用,它从底部到顶部,停在每一层楼,打开门,让人们进出,然后把门关上,继续前进。之后到达顶层,它会下去。

    电梯运行时间:

    (大致时间   单位:秒    最高十一层)

    开门时间:2.278

    关门时间:2.654

    开关门时间(有间歇):5.639

    上升:

    每层之间:7.860

    一层到十一层:29.017

    下降:

    每层之间:7.528

    十一层到一层:29.583

    加速:2.457

    减速:2.368

    问题简单分析:

    每部电梯,当电梯已坏,提示电梯已坏。

    (针对某一个电梯)当没有人使用时,自动停在一层。

    当有人使用时:

    1.只有一人按按钮,正常运行。

    2.当同时有多人,当人数或重量达到限制,提醒超载,否则正常运行。

    3.在不同楼层按按钮时,电梯首先停在局里较近的楼层。

    4.正在向上运行时,楼下有人按按钮,先向上走,在向下走,反之亦然。

    5.上升过程中,楼上有需求,电梯停,向下运行亦然。

    6.运行中,人员进出电梯,当人员,重量达到限制,自动停止,提示超载。

    按钮:按下时灯亮,否则灯灭。

    7. 若电梯运行方向与按钮方向相反,这时就将这个请求放入等待队列中,等待资源。举例说明就是,假如在15层有人请求上楼,而电梯在向下运行,这时就将这个请求放入队列中,另外,要注意的是在15层有人请求上楼的之后8层也发出上楼请求,被调度的那部则已经向上,这就要判断这部电梯是否已经过8层,若没有则电梯先在8层停,再上15层,若已经过,则将请求再次放入队列,再次等待,反之亦然!

    电梯调度测试程序框架(接口,类):

    1.  初始化:无人使用时,电梯初始值为0,停在第一层。

    2.  楼层:21层,(0-20)

    3.  时间:电梯开关门,运动加速减速时间

    4.  按钮:开关门按钮,楼梯表示按钮,在最高最低层时,按钮不提供服务

    5.  电梯(四部电梯互不影响):判断上下,是否运行,运行过程中不同楼层有需要,判断距离最近的楼层

    6.  限制:人数超过标准或重量超过标准,提示超载

    interface Elevator//定义电梯接口

       {

           int limitNum;//现载人数

           int limitWeight;//限载重量

                int layers_Elevator;//电梯的层数

                void goUP_Elevator(int layoutsTarget,int layoutsStart);//电梯上升,参数层数

           void comeDown_Elevator(int layoutsTarget, int layoutsStart);//电梯下降,层数为层数

        }

        interface People//人的接口

        {

            int weightPeople;//人的总重量

            Boolean switch_Elevator(int layouts);//按电梯开关,参数为楼层数

        }

        interface Control//中央控制器接口

        {

            int numPeople;//人数

                 int sumWeight;         //人总重量

            void dispatch();//调度方法

    }

    姓名:薛禄坤  孙存良

  • 相关阅读:
    Resin4 自定义端口
    设备系统识别,解决方案。
    Reactjs-JQuery-Vuejs-Extjs-Angularjs对比
    HTML页面的加载
    传输层协议TCP和UDP
    常用的14种HTTP状态码速查手册
    前端总结·基础篇·CSS(二)视觉
    前端总结·基础篇·CSS(一)布局
    AngularJS 中的Promise --- $q服务详解
    ngRoute 和 ui.router 的使用方法和区别
  • 原文地址:https://www.cnblogs.com/scl1314/p/3595172.html
Copyright © 2020-2023  润新知