OOP项目设计题目 ,你会吗?
问题
公司要建立一幢两层的办公大楼并装上“最新”的电梯.公司要求开发一个面向对象的软件模拟程序,模拟电梯的操作,确定这个电梯能否满足需求.
这个电梯只限乘载一人,为了省电,只在需要时才使用,电梯每天在一楼关门等待.
模拟程序包括一个时钟,每天从时间0开始,每秒滴答一次.模拟程序的调度器组件随机设置每一层第一个到来的时间(随机调度).当时钟的时间等于第一个人到来的时间时,模拟程序对指定层生成一个新到的人并将人放在这一层.然后这个人按下该层的按溜,请求电梯开门.这个人的目的地楼层不能与他上电梯时所在的那层相同.
如果第一个人到达第一层,则他可以在按下暗流和等待电梯开门之后立即进入电梯.如果第一个人在第二层,则电梯要升到第二层去接这个人.电梯从第一层一道另一层需要5秒种.
电梯到达第一层时,打开该层的电梯门上面的灯,并在电梯内发出铃声.该层的暗流和电梯中表示该层的暗流复位,电梯们打开,乘客(如果有人要乘电梯到该层)走出电梯,另一个乘客(如果该层有人等待)进入电梯并按下目的地楼层的暗流,电梯门关上.如果电梯要开始移动,则要确定移动的方向(对只有两层的电梯,判断很简单)并移到下一层.为了简单起见,假设电梯到达一层时发生所以事情,而且直到电梯门关上所花的时间为0.电梯总是知道在哪层和要到哪层.
任何时间每层最多只能有一个人等待,如果新到的人(不在电梯中的人)要到达一层时该层已被占用,则一秒后才能安排新的到达者.假设每隔5到20秒人们随机到达每层.
我们的目标是要实现一个能够工作的软件模拟程序,并根据这些要求运行.该程序应模拟几分钟的电梯操作,确定电梯能否满足这座办公大楼的交通需求.
电梯实验室任务1
在这些电梯实验室任务中,要进行面向对象设计的各个步走.第一步要确定问题中的对象,最终要正式描述这些对象并在 C++中实现.在这个电梯实验室任务中应该:
1.确定这个电梯模拟问题中的对象.这个问题指定了许多对象模拟电梯以及与各个人、楼层、暗流等等之间的交互.找到问题中的名词(noum),这些名词通常就是实现电梯模拟问题中的对象 .
2.对每个找到的对象,用一段话描述关于对象的所有事实.
说明:我们做了许多简化的假设,读者可以根据需要提供其他任何细节
问题
1.如何确定电梯能否处理所需的交通量?
2.为什么实现三层或更高的楼层更加复杂?
3.建立一个电梯对象之后很容易建立更多的电梯对象.如果有多个电梯,每个电梯在每一层载客和下客时,都会遇到什么问题?
4.为了简单起见,我们指定电梯和每层的容量为一个乘客.如果增加这个容量,会遇到什么问题?
问题点数:0、回复次数:4Top
1 楼98440622(民工++)回复于 2003-06-02 09:08:02 得分 0
upTop
2 楼cykane(飞飞鱼)回复于 2003-06-04 22:11:25 得分 0
这个好象是c++大学教程里面的问题?Top
3 楼TomandJerry(傅红雪)回复于 2003-06-05 00:40:58 得分 0
没看你的题目, 不过我见过的电梯方面的都是牛题,一个是软工的书,外国的,还有一各就是ai的书了,讲的是规则库Top
4 楼eliza007(怎么编也不程)回复于 2003-06-05 21:55:53 得分 0
就是C++大学教程里得题!挺长的Top




