已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
某栋写字楼 6 层 有 1 部电梯 编写一个电梯仿真程序 A 考虑如下条件 1 每层楼都有上行和下行两个按键 2 电梯一开始停在 1 层 3 电梯可以容纳 8 个人 4 乘坐电梯的客人的请求频率 时间间隔和到达楼层是随机的 5 电梯的上下一层需要 1 秒 6 电梯空间有限 同时只能容纳一定数量的客人 如果已经达到人数额度 电梯将不理会任何请求 7 不考虑客人请求当前楼层和不请求楼层的情况 8 电梯的响应延迟为 0 比如 电梯往 3 楼上行 3 楼的客人在电梯到达 3 楼之前按上行键 程序有权调 度电梯在 3 楼开门 9 电梯的开关门时间和客人上下电梯时间为 0 匀速运行 10 电梯调度算法不能预读尚未发生的请求 比如在 10 秒的时候电梯无法预知 11 秒时某层客人的请求 11 客人请求发生在整数秒 B 目标 1 在运送所有客人到达目标楼层的前提下电梯的总行程尽可能小 2 设计一个接口 实现调度算法的可替换性 比如 通过重新实现该接口可以使系统使用其它算法 C 输入和输出 输入 input txt 客人的请求序列 格式为到达时间 所在楼层 请求楼层 假设该输入是按照时间递增的 比如 input txt 1 2 3 2 3 1 在 1 秒的时候有客人请求从 2 层到 3 层 2 秒的时候有客人请求从 3 层到 1 层 输出 设计一种简单实用的输出可以清晰地反映电梯的运转情况 include include using std cout using std cin using std endl struct floor int to floor next struct Node int up int down floor downto floor upto int ren class lift private int current int toward int person int rch person 7 public enum null up down lift current 1 toward null person 0 for int i 1 i 7 i rch person i 0 int how person return person int return toward return toward void set current void set toward Node int return current return current void insert reach int x void out reach void show cout Now is in current floor the direction is toward there are person howlongtime test time ren 0 lift lift1 int from to floor nt floor ch Node layer 7 srand time 0 for int i 1 i 7 i layer i up 0 layer i down 0 layer i upto NULL layer i downto NULL for int i 0 i howlongtime i lift1 out reach if lift1 how person lift1 set toward layer if lift1 return toward if lift1 return toward up rch layer lift1 return current upto ch rch Node while lift1 how person 8 if front upto front up ch rch rch rch next ren delete ch front upto rch else rch layer lift1 return current downto ch rch Node while lift1 how person 8 if front downto front down ch rch rch rch next ren delete ch front downto rch while havepeople from rand 6 1 to rand 6 1 while from to to rand 6 1 cout Time i from to to nt next NULL if layer from downto NULL layer from downto nt else floor p layer from downto while p next NULL p p next p next nt ren else if from to nt next NULL if layer from upto NULL layer from upto nt else floor p layer from upto while p next NULL p p next p next nt ren lift1 set current bool havepeople return rand 6 1 3 void lift insert reach int x rch person x person void lift out reach person rch person current rch person current 0 void lift set current if toward up current else if toward down current void lift set toward Node layer if ren 0 int i if toward 1 toward 2 int k 1 int t int j if toward 1 i 6 t current else if toward 2 i 1 t current for i t i i k if i 0 j i else j i if layer j up layer j down 0 return if t0 return else toward up return else if layer current up 0 return else toward down return else f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 热改性木材:低碳建筑与高耐候木质外装材料的全球增长机会
- 2026学年人教版新教材小学数学六年级上册教学计划(含进度表)
- 2026人工智能产业技术前沿探索及行业应用与未来发展趋势研究报告
- 2026增值税企业面试题及答案
- 课前三分钟励志演讲稿4篇
- 2026-2030中国特种建筑化学品行业市场发展趋势与前景展望战略研究报告
- 2026-2030汽车美容行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2026年护理继续教育学分管理课件
- 2026年医学类职称考试《临床医学》综合知识冲刺押题
- 2026年教师资格证考试《综合素质》专项训练试卷三套
- 2025年度山西地质集团校园招聘307人笔试参考题库附带答案详解
- DB61∕T 1308-2019 建筑消防设施维护保养规范
- 《政务数字化应用费用测算规范》编制说明
- 铁矿安全知识培训资料课件
- 无创呼吸机参数设置课件
- 2025年甘肃省药品检查员资格考试(药械化生产)历年参考题库含答案详解(5套)
- 林麝养殖可行性研究报告
- 《云南省预制装配式钢筋混凝土检查井技术规程》
- 新疆天运化工有限公司环境影响后评价环评报告
- 《文物修复与保护基础》课件
- 语文中考经验分享精彩演讲稿
评论
0/150
提交评论