早教吧作业答案频道 -->其他-->
数据结构课程设计电梯模拟问题描述设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”构成的集合。虽然他们彼此交互作用,但是他们的行为
题目详情
数据结构课程设计 电梯模拟
【问题描述】设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”构成的集合。虽然他们彼此交互作用,但是他们的行为是基本独立的。在离散的模拟中,以模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。
【基本要求】(1)模拟某校5层教学楼电梯系统。该楼有个自动电梯,能在每一层停留。5个楼曾由下至上依次称为地下层,第一层,第二层,第三层和第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来到该层待命。
(2)乘客可随机地进出于任何层。对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。
(3)模拟时钟从0开始,时间单位为0.1秒。人和电梯各种动作均要耗费一定时间单位(记为t),如:
有人进出时,电梯每隔40t测试一次,若无人进出,则关门;
关门和开门各需20t;
每个人进出电梯均需要25t;
如果电梯在某层静止时间超过300t,则驶回1层待命。
(4)按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。
【测试数据】模拟时钟Time的初始值为0,终值可在500~10000范围内逐步增加。
【实现提示】(1)楼层由上自下依次编号为0,1,2,3,4。每层有要求Up(上)和Down(下)的两个按钮,对应10个变量CallUp[0,4]和CallDown[0..4]。电梯内5个目标层按钮对应变量CallCar[0..4]。有人按下某个按钮时,相应的变量就置为1,一旦要求满足后,电梯就把该变量清为0。
(2)电梯处于三种状态之一:GoingUp(上行)、GoingDown(下行)和Idle(停候)。如果电梯处于Idle状态且不在1层,则关门并驶回1层。在1层停留时,电梯是闭门候命。一旦收到往另一层的命令,就转入GoingUp或GoingDown状态,执行相应的操作。
(3)用变量Time表示模拟时钟,初值为0,时间单位(t)为0.1秒。其他重要的变量有:
Floor---电梯的当前位置(楼层);
D1---值为0,除非人们正在进入和离开电梯;
D2---值为0,如果电梯已经在某层停候300t以上;
D3---值为0,除非电梯门正开着又无人进出电梯;
State---电梯的当前状态(GoingUp,GoingDown,Idle)。
系统初始时,Floor=1,D1=D2=D3=0,State=Idle。
(4)每个人从进入系统到离开称为该人在系统中的存在周期。在此周期内,他有6种可能发生的动作:
(5)电梯的活动有9种:
(6)当电梯须对下一个方向作出判定时,便在若干临界时刻调用Controler函数。该函数有以下要点:
C1.[需要判断?]若State≠Idle,则返回。
C2.[应该开门?]如果电梯处于E1且CallUp[1],CallDown[1]或CallCar[1]非0,则预置20个t后启动E3,并返回。
C3.[有按钮按下?]找最小的j≠Floor,使得CallUp[j],CallDown[j]或CallCar[j]非0,并转到C4。但如果不存在这样的j,那么,如果Controler正为E6所调用,则置j为,否则返回。
C4.[置State]如果Floor>j,则置State为GoingDown;如果Floor C5.[电梯静止?]如果电梯处于E1而且j≠1,则预置20个t后启动E6,返回。
(7)由上可见,关键是按时序管理系统中所有乘客和电梯的动作设计合适的数据结构。
其实实验要求蛮多的,但是这里粘贴不下了。网上都能搜到的啦~本人很懒,所以叫我自己做的或者给网址的就算了,要给就拜托您给个不用注册的,不用积分不花钱的,而且程序DOWN下来能够直接运行无误的。程序好的话有加分!!!
有的话请发到我邮箱啦:858753795@qq.com 1月20日验收课设。所以拜托各位大侠尽快吧。
【问题描述】设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”构成的集合。虽然他们彼此交互作用,但是他们的行为是基本独立的。在离散的模拟中,以模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。
【基本要求】(1)模拟某校5层教学楼电梯系统。该楼有个自动电梯,能在每一层停留。5个楼曾由下至上依次称为地下层,第一层,第二层,第三层和第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来到该层待命。
(2)乘客可随机地进出于任何层。对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。
(3)模拟时钟从0开始,时间单位为0.1秒。人和电梯各种动作均要耗费一定时间单位(记为t),如:
有人进出时,电梯每隔40t测试一次,若无人进出,则关门;
关门和开门各需20t;
每个人进出电梯均需要25t;
如果电梯在某层静止时间超过300t,则驶回1层待命。
(4)按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。
【测试数据】模拟时钟Time的初始值为0,终值可在500~10000范围内逐步增加。
【实现提示】(1)楼层由上自下依次编号为0,1,2,3,4。每层有要求Up(上)和Down(下)的两个按钮,对应10个变量CallUp[0,4]和CallDown[0..4]。电梯内5个目标层按钮对应变量CallCar[0..4]。有人按下某个按钮时,相应的变量就置为1,一旦要求满足后,电梯就把该变量清为0。
(2)电梯处于三种状态之一:GoingUp(上行)、GoingDown(下行)和Idle(停候)。如果电梯处于Idle状态且不在1层,则关门并驶回1层。在1层停留时,电梯是闭门候命。一旦收到往另一层的命令,就转入GoingUp或GoingDown状态,执行相应的操作。
(3)用变量Time表示模拟时钟,初值为0,时间单位(t)为0.1秒。其他重要的变量有:
Floor---电梯的当前位置(楼层);
D1---值为0,除非人们正在进入和离开电梯;
D2---值为0,如果电梯已经在某层停候300t以上;
D3---值为0,除非电梯门正开着又无人进出电梯;
State---电梯的当前状态(GoingUp,GoingDown,Idle)。
系统初始时,Floor=1,D1=D2=D3=0,State=Idle。
(4)每个人从进入系统到离开称为该人在系统中的存在周期。在此周期内,他有6种可能发生的动作:
(5)电梯的活动有9种:
(6)当电梯须对下一个方向作出判定时,便在若干临界时刻调用Controler函数。该函数有以下要点:
C1.[需要判断?]若State≠Idle,则返回。
C2.[应该开门?]如果电梯处于E1且CallUp[1],CallDown[1]或CallCar[1]非0,则预置20个t后启动E3,并返回。
C3.[有按钮按下?]找最小的j≠Floor,使得CallUp[j],CallDown[j]或CallCar[j]非0,并转到C4。但如果不存在这样的j,那么,如果Controler正为E6所调用,则置j为,否则返回。
C4.[置State]如果Floor>j,则置State为GoingDown;如果Floor
(7)由上可见,关键是按时序管理系统中所有乘客和电梯的动作设计合适的数据结构。
其实实验要求蛮多的,但是这里粘贴不下了。网上都能搜到的啦~本人很懒,所以叫我自己做的或者给网址的就算了,要给就拜托您给个不用注册的,不用积分不花钱的,而且程序DOWN下来能够直接运行无误的。程序好的话有加分!!!
有的话请发到我邮箱啦:858753795@qq.com 1月20日验收课设。所以拜托各位大侠尽快吧。
▼优质解答
答案和解析
好难,不会,抱歉
看了数据结构课程设计电梯模拟问题描...的网友还看了以下:
清朝赵翼在《廿二史札记》中写到:“盖(孝文)帝优于文学,恶本俗之陋,欲以华风变之,故不惮为此举也。 2020-04-05 …
英语翻译论文摘要:本文论述了客户关系管理的基本思想,对它的基本含义、背景、发展史、市场等方面作了一 2020-05-13 …
对客户进行诊断的步骤有( )。 A.设计客户访问问卷B.访问客户(包括潜在客户)C.访问客户 2020-05-21 …
审计报告的编写要求包括: A.要陈述要客观 B.详细说明审计风险 C.内容要完整 D.编制 2020-05-21 …
牛仙客为凉州都督,-----自后朝士惩九龄之纳忠见斥,咸持禄养恩,无敢庭议失.译文牛仙客为凉州都督 2020-06-12 …
审计存货监盘,卷子上的题目,求好心人给做一下吧审计人员接受委托,对常年审计客户丙公司20×7年度财 2020-06-20 …
关于CPA税法的一道题李某为客户提供一项工程设计,客户按照合同规定向李某支付工程设计费(税后)54 2020-06-28 …
关于计算机数制与码制的问题1.简述计算机中采用二进制的优点.2.简述计算机中利用补码表示有符号数的优 2020-11-17 …
“北来在此安家,远行从此启程,八闽百越赣州推本;离境于斯似客,立业以斯为始,四海五洲贡水溯源。”这是 2020-12-06 …
记述了那三件事情?(宋濂)尝与客饮,帝①密使人侦视。翌日,问濂昨饮酒否,坐客为②谁,馔③为何物。濂具 2020-12-09 …