标题:又是电梯模拟 求大神
只看楼主
mango朗姆
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-4-14
结帖率:100%
已结贴  问题点数:10 回复次数:10 
又是电梯模拟 求大神
额,求大神指点电梯的大程序,我真的很弱,上课没怎么听。。。。现在我负责小组内部电梯程序的输入输出,就是要把电梯目前的状态,即将停靠楼层,啥的输出在屏幕上,然后接收在某层驶向某层的某个任务,sorry,具体我只能说成这样了,我现在不需要代码,我想有个思路,因为我现在无从下手,我仍旧想自己写出来,所有求大神能给我个思路框架!多谢!
搜索更多相关主题的帖子: sorry 
2014-04-14 21:21
mango朗姆
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-4-14
得分:0 
大神们快来吧!!我一个人撑不住啦!!组内就差我没完结了!!
2014-04-14 21:31
神机军师
Rank: 7Rank: 7Rank: 7
来 自:游鱼潜水
等 级:黑侠
威 望:2
帖 子:202
专家分:542
注 册:2013-12-21
得分:3 
工作问题?
不太明确。。。。

无非就是弄一个时刻准备接收信息的变量,根据变量的变化来分配任务,
同事判断电梯的状况来输出当前楼层,或者某些信息反馈,例如错误

既然你们是协作模式,那,呃你还要配合其他成员的数据定义和方法接口。。

还没有做过项目,也就能想那么多了,如果有啥东西不懂的可以给我说说。。让我涨涨姿势

未知令人期待!
2014-04-15 00:41
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
得分:3 
还是百度一下为好。
2014-04-15 09:03
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
得分:0 
【问题描述】设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”构成的集合。虽然他们彼此交互作用,但是他们的行为是基本独立的。在离散的模拟中,以模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。【基本要求】(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<j,则置State为GoingUp。C5.[电梯静止?]如果电梯处于E1而且j≠1,则预置20个t后启动E6,返回。(7)由上可见,关键是按时序管理系统中所有乘客和电梯的动作设计合适的数据结构。
2014-04-15 09:07
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:3 
说实话,帖子里可用的信息太少,不清楚要做啥

总有那身价贱的人给作业贴回复完整的代码
2014-04-15 09:09
Andrew_Lee
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:185
专家分:626
注 册:2014-3-21
得分:3 
是单片机程序吗?我觉得用中断实现。
2014-04-15 09:22
mango朗姆
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-4-14
得分:0 
回复 3 楼 神机军师
不是工作,我大一的,大作业。。。
2014-04-16 23:17
mango朗姆
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-4-14
得分:0 
回复 6 楼 embed_xuel
是的,非常不好意思,上课时实在没听认真。。。
2014-04-16 23:19
mango朗姆
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-4-14
得分:0 
回复 5 楼 ying8501
thank you so much! 很详细,非常有帮助!
2014-04-16 23:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-430092-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037523 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved