- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构电梯模拟[精品]
课 程 设 计
课程名称 数据结构
题目名称 模拟电梯
学生学院___计算机学院
专业班级___网络工程0904班
学 号 3109006644
学生姓名_ ______
指导教师___
2011 年 7 月 05 日
题目:模拟电梯
班级:网络工程0904 姓名学号:3109006644完成时间:2011-7-05合作人:无
需求分析
问题描述:
设计一个电梯模拟系统.这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”构成的集合,虽然他们彼此相互作用,但它们的行为是基本独立的.在离散的模拟中,以模拟时钟决定每个活动的动作和发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进某个动作的预定要发生的下一个时刻。
基本要求:
模拟某校五层教学楼的电梯系统.该楼有一个自动电梯,能在每层停留.五个楼层由下至上依次为地下层、第一层、第二层、第三层和第四层,其中第一层是大楼的进出层,既是电梯的“本垒层”,电梯“空闲”时将来到该层候命。
乘客可随机地进出任何层。对每个人来说,他有一个能容忍的最长等待时间,一旦电梯时间过长,他将放弃。
模拟时钟从0开始,时间单位为0.1秒。人和电梯的各种动作均要耗费一定的时间单位(简记为t),比如:
有人进出时,电梯每隔40t测试一次,若无人进出,则关门;
关门和开门都要20t;
每个人进出电梯均需要25t
如果电梯在每层静止超过300t,则驶回一层候命。
按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。
测试数据:
模拟时钟Time的初值为0,终值可在500~1000范围内逐步增加。
实现提示:
楼层由下至上依次编号为0,1,2,3,4。每层有要求Up(↑)和Down(↓)的两个按钮,对应10个变量CallUp[0…4]和CallDown[0…4]。电梯内5个目标层按钮对应变量CallCar[0…4]。有人按下某个按钮时,相应的变量就置为1,一旦要求满足后,电梯就把变量清为0。
电梯处于三中状态:GoingUp(上行)、GoingDown(下行)和Idle(停候)。如果电梯处于Idle状态且不在一层,则关门并驶回一层。在一层停候时,电梯是闭门候命的。一旦收到往另一层的命令,就转入GoingUp或GoingDown状态,执行相应的操作。
用变量Time表示模拟时钟,初值为0,时间单位(t)为0.1秒。其他重要的变量有:
Floor——电梯的当前位置(楼层);
D1——值为0,除非人们正在进入或离开电梯;
D2——值为0,如果电梯已经在某层停候300t以上
D3——值为0,除非电梯门正开着有无人进入电梯
State——电梯当前状态GoingUp(1),GoingDown(-1),Idle(0)。
系统初始时,Floor=1,D1=D2=D3=0,State=Idle。
每个人进入系统到离开称为该人在系统中的存在周期。在此周期内,他有6种可能发生的动作:
M1.[进入系统,为下个人的出现作准备]产生以下数值:
InFloor——该人进入哪层楼;
OutFloor——他要去哪层楼;
GiveupTime——他能容忍的等候时间;
InterTime——下一个人出现的时间间隔,据此预置下一个人进入系统的时刻。
M2.[按电钮并等候]此时应对以下不同情况作不同的处理:
Floor=InFloor且电梯的下一个活动是E6(电梯在本层,但正在关门);
Floor=InFloor且D3!=0(电梯在本层,正在有人进出);
其他情况,可能D2=0或电梯处于活动E1(在一楼等候)。
M3.[进入队列]在等候队列Queue[InFloor]末尾插入该人,并预置在GiveupTime个t后,他若仍在队列中实施动作M4;
M4.[放弃]如果Floor!=InFloor或D1=0,则从Queue[InFloor]和系统删除该人.如果Floor=InFloor且D1!=0,他就继续等候(他知道马上就可进入电梯)。
M5.[进入电梯]从Queue[InFloor]删除该人,并把他插入到Elevator(电梯)队列中。置CallCar[Out]为1。
M6.[离去]从Elevator和系统删除该人.
电梯的活动有9种:
E1.[在一层等候]若有人按下一个按钮,则调用Controler将电梯转入活动E3或E6.
E2.[要改变状态?]如果电梯处于GoingUp(或GoingDown)状态,但该方向的楼层却无人等待,则要看反方向楼层是否有人等候,而决定置State为GoingDown(或GoingUp)还是Idle.
E3.[开门]置
您可能关注的文档
- 数学二年级上册教学参考多媒体资源-北京雷锋小学[精品].ppt
- 数学建模优秀论文_垃圾分类处理与清运方案设计[精品].doc
- 数学同步练习题考试题试卷教案高三数学三角函数与平面向量[精品].doc
- 数学建模知识[精品].doc
- 数学建模《降落伞的选购问题》.doc[精品].doc
- 数学建模基础知识 线性规划-单纯形方法[精品].ppt
- 数学建模基础知识 线性规划与单纯形方法[精品].ppt
- 数学建模竞赛论文-基于灰色模型的房地产价格分析[精品].doc
- 数学建模的最优化方法[精品].ppt
- 数学建模第三章线性代数方法建模--3.1常染色体基因遗传[精品].ppt
- 幼儿教师资格证(考试资料)《幼儿保健知识与能力》新版初级练习卷有答案与.docx
- (附答案)川农12月《中药化学》作业考核-.docx
- (附答案)川农12月《园林植物保护学(本科)》作业考核-.docx
- (附答案)川农12月《有机化学(专科)》作业考核-.docx
- (附答案)川农12月《植物保护学(本科)》作业考核-.docx
- (附答案)东师《教育心理学》在线作业2-1(1).docx
- (附答案)川农12月《药剂学》作业考核-.docx
- (附答案)川农12月《配方饲料制造工艺与技术(专科)》作业考核-.docx
- 幼儿教师资格证(考试资料)《幼儿保健知识与能力》新版基础知识题库带解析.docx
- 幼儿教师资格证(考试资料)《幼儿保健知识与能力》基础知识模拟押题卷.docx
文档评论(0)