数据结构电梯模拟

数据结构电梯模拟

ID:47730981

大小:118.50 KB

页数:21页

时间:2020-01-16

数据结构电梯模拟_第1页
数据结构电梯模拟_第2页
数据结构电梯模拟_第3页
数据结构电梯模拟_第4页
数据结构电梯模拟_第5页
资源描述:

《数据结构电梯模拟》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据结构课程实验报告姓名:陈东学号:070612146精选范本,供参考!目录一、【实验目的】3二、【问题描述】3三、【基本要求】3四、【实验环境】3五、【测试数据及其结果】3六、【实验源代码】5精选范本,供参考!一、【实验目的】帮助学生熟练掌握线性表的基本操作在链表结构中的实现,熟练进行各种链表的操作和应用。二、【问题描述】设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”够成的集合,虽然他们彼此交互作用,但是他们的行为是基本独立的。在离散的模拟中,一模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到

2、某个动作预定要发生的下一个时刻。三、【基本要求】(1)、模拟某校五层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留。五个楼层由下至上依次称为地下层、第一层、第二层、第三层和第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来该层候命。五个楼层从下到上的编号为:0、1、2、3、4。除了地下层外,每一层都有一个要求向下的按钮除了第四层外,每一层都有一个要求向上的按钮。对应的变量为:CallUp[0..3]和CallDown[1..4]。电梯内的五个目标层按钮对应的变量为:CallCar[0..4]。(2)、电梯一共有七个状态,即正在开门(Opening)、已开门(O

3、pened)、正在关门(Closing)、已关门(Closed)、等待(Waiting)、移动(Moving)、减速(Decelerate)。精选范本,供参考!(3)、 乘客可随机地进出于任何层。对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。对于在楼层内等待电梯的乘客,将插入在等候队列里,每一层有两个等候队列,一队要求向上,一队要求向下,用链队列来实现。对于在电梯内的乘客,用五个乘客栈来实现,该乘客要去哪一层,就把他放在相应编号的栈中,对应变量为EleStack[0…4]。(4)、模拟时钟从0开始,时间单位为0.1秒。人和电梯的各种动作均要耗费一定的时间单位(

4、简记为t):有人进出时,电梯每隔40t测试一次,若无人进出,则关门关门和开门各需要20t每个人进出电梯均需要25t电梯加速需要15t如果电梯在某层静止时间超过300t,则驶回1层候命。(5)、按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。四、【实验环境】Windows7,VC++6.0五、【测试数据及其结果】1、乘客类型反映乘客的所有属性。ADTClient数据对象:D={ai∈乘客信息,I=1,2,…,n,n≥0}数据关系:R={

5、ai-1,ai∈D,i=2,…,n}精选范本,供参考!基本操作:PrintClientInfo(Clientconst&e,C

6、lientStatus)操作结果:输出乘客信息。CreatClient(Client*&p)操作结果:生成新的乘客。DestoryClient(Client*&p)操作结果:该乘客离开系统。GoAbove(Clientconst&e)操作结果:判断该乘客是否去往高层。CInfloor(Clientconst&e)操作结果:返回乘客进入的楼层。CInTime(Clientconst&e)操作结果:返回乘客进入时间。COutfloor(Clientconst&e)操作结果:返回乘客进入时间。}1、乘客栈类型电梯内的乘客用乘客栈表示,去不同楼层的乘客放在不同的栈中。ADTEstack数据对象:D

7、={ai∈乘客信息,I=1,2,…,n,n≥0}数据关系:R={

8、ai-1,ai∈D,i=2,…,n}基本操作:精选范本,供参考!略。}1、等候队列类型在电梯外等待的乘客用等待队列表示。每层各有两个等待队列,分别为上楼队列和下楼队列。与一般队列不同的是在基本操作中加入了放弃操作CGiveUp(WQueue&Q,intfloor)。2、电梯类型表示电梯的各个属性和所有动作。ADTElevator数据对象:D={ai∈电梯信息,I=1,2,…,n,n≥0}基本操作:InitEle(Elevator&E)操作结果:初始化电梯类型。DestoryEle(Elevator&E)操作

9、结果:销毁电梯类型。EleDecide(Elevator&E,WQueuew[Maxfloor+1][2])操作结果:电梯动作决策。ElevatorRun(Elevator&E,WQueuew[Maxfloor+1][2]){操作结果:电梯状态转换。CountOver(Elevator&E)操作结果:判断电梯计时是否完成。精选范本,供参考!EleFloor(Elevatorconst&E)操作结果:返回电梯所在的层。El

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

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

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