电梯模拟 课程设计

电梯模拟 课程设计

ID:10989039

大小:41.00 KB

页数:5页

时间:2018-07-09

电梯模拟 课程设计_第1页
电梯模拟 课程设计_第2页
电梯模拟 课程设计_第3页
电梯模拟 课程设计_第4页
电梯模拟 课程设计_第5页
资源描述:

《电梯模拟 课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、1.电梯模拟1)设计题目:电梯模拟问题描述:设计一个电梯模拟系统,这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”构成的集合,虽然它们彼此交互作用,但它们的行为是基本独立的。在离散的模拟中,以模拟时钟决定每一个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。2)设计目的深入了解栈和队列的特性,以便在实际问题背景下灵活运用他们;同时还将巩固对这两种结构的构造方法的理解。3)设计要求(1)模拟某校五层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留。五个楼层由下至上依次称为地下层、第一层、第二层、第三

2、层和第四层,其个第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来到该层候命。(2)乘客可随机地进出于任何层。对每个入来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。(3)模拟时钟从0开始,时间单位为0.1秒。人和电梯的各种动作均要耗费一定的时间单位(简记为t),比如:有人进出时,电梯每隔40t测试一次,若无人进出,则关门。关门和开门各需要20t;每个人进出电梯均需要25t;如果电梯在某层静止时间超过300t,则驶回1层候命。(4)按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。4)实现提示(1)楼层由下至上依次编号为0,1,2,3,4。每

3、层有要求Up(上)和Down(下)的两个按钮,对应l0个变量CallUp[0..4]和CallDown[0..4]。电梯内5个目标层按钮对应变量CallCar[0..4]。有人按下某个按钮时,相应的变量就置为1,一旦要求满足后,电梯就把该变量清为0。(2)电梯处于三种状态之一:GoingUp(上行)、GoingDown(下行)和IdIe(停候)。如果电梯处于IdIe状态且不在1层,则关门并驶回1层。在1层停候时,电梯是闭门候命。一旦收到往另一层的命令,就转入GoingUp或GoingDown状态,执行相应的操作。(3)用变量Time表示模拟时钟,初值为0,时间单位(t)为0.1秒。其他

4、重要的变量有:Floor——电梯的当前位置(楼层);D1——值为0,除非人们正在进入和离开电梯;D2——值为0,如果电梯已经在某层停候300t以上;D3——值为0,除非电梯门正开着又无人进出电梯;State——电梯的当前状态(GoingUp,GoingDown,IdIe)。系统切始时,Floor=1,D1=D2=D3=0,State=IdIe。(4)每个人从进入系统到离开称为该人在系统中的存在周期。在此周期内,他有6种可能发生的动作:M1.[进入系统,为下一人的出现作准备]产生以下数值:InFloor——该人进入哪层楼;OutFloor——他要去哪层楼;GiveupTime一一他能容忍

5、的等侯时间;nterTime——下一人出现的时间间隔,据此系统预置下一人进入系统的时刻。M2.[按电钮并等候]此时应对以下不同情况作不同的处理:Floor=InFloor且电梯的下一个活动是E6(电梯在本层,但正在关门);Floor=InFloor且D3!=0(电梯在本层,正有人进出);其他情况,可能D2=0或电梯处于活动E1(在1层停候)。M3.[进入排队]在等候队列Queue[InFloor]末尾插入该人,并预置在GiveupTime个t后他若仍在队列中将实施动作M4。M4.[放弃]如果Floor!=InFloor或D1=0,则从Queue[InFloor]和系统删除该人。如果Fl

6、oor=InFloor且D1!=0,他就继续等候(他知道马上就可进入电梯)。M5.[进入电梯]从Queue[InFloor]删除该人,并把他插入到Elevator(电梯)栈中。置CallCar[OutFloor]为1。M6.[离去]从Elevator和系统删除该人。(5)电梯的活动有9种:E1.[在1层停候]若有人按下一个按钮,则调用Controler将电梯转入活动E3或E6。E2.[要改变状态?]如果电梯处于GoingUp(或GoingDown)状态,但该方向的楼层却无人等待,则要看反方向楼层是否有人等候,而决定置State为GoingDown(或GoingUp)还是IdIe。E3.

7、[开门]置D1和D2为非0值,预置300个t后启动活动E9和76个t后启动E5,然后预置20个t后转到E4。E4.[让人出入]如果Elevator不空且有人的OutFloor=Floor,则按进入的倒序每隔25个t让这类人立即转到他们的动作M6。Elevator中不再有要离开的人时,如果Queue[Floor]不中,则以25个t的速度让他们依次转到M5。Queue[Floor]空时,置D1为0,D3!=0.而且等候某个其他活动的到来。E5.[关

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。