面向对象编程:电梯控制系统设计

需积分: 10 1 下载量 51 浏览量 更新于2024-09-07 1 收藏 487KB PDF 举报
"面向对象_傻瓜电梯要求" 在本次面向对象编程的实验中,我们需要设计一个简单的单部电梯控制系统,模拟实际电梯的运行过程。电梯作为一种固定式升降设备,服务于特定楼层,其核心功能包括接受乘客的上下行请求、在各楼层停靠以及安全运输乘客。 电梯的基本定义是它具有一个轿厢,能在至少两列垂直或微倾斜的导轨间运行,角度不超过15°。在这个实验中,我们不考虑台阶式自动扶梯和滚梯。电梯的使用方法相对简单,乘客只需要按照以下步骤操作: 1. 在乘梯楼层,乘客根据上下行需求按下相应箭头按钮,当灯亮起,表示电梯已接收请求。 2. 电梯到达并开门后,现有乘客需先离开,新乘客才能进入,并按下目标楼层的数字按钮。按钮灯亮起即表明请求被记录,此时无需重复操作。 3. 电梯门关闭后开始运行,直到达到目标楼层并自动开门。乘客有序离开电梯,完成乘梯过程。 作业目标是运用面向对象编程技术实现电梯控制系统。电梯系统的基本描述如下: - 这个电梯服务10层楼,每层都有上行和下行请求按钮,除了1层只有上行请求,10层只有下行请求。 - 电梯内部设有目的地楼层按钮,乘客可以按需选择。 电梯的基本运行规则包括: - 程序启动或重置时,电梯初始停靠在1层。 - 定义了电梯运行状态,即电梯启动到停止的过程中,速度始终大于0。 - 其他未列出的规则,如电梯的加减速、开门关门逻辑、乘客进出管理等,也需要在设计中考虑。 面向对象设计时,我们可以将电梯作为一个对象,它包含状态(如位置、速度、运行方向)、方法(如接收请求、移动、开门、关门)和属性(如当前楼层、乘客数量)。每个楼层可以是另一个对象,包含上行和下行请求。乘客则可能作为事件驱动的对象,触发电梯的某些行为。此外,还需要定义一套规则来处理电梯的调度,如多个请求同时存在时如何决定电梯的移动方向。 这个实验旨在让学生理解如何用面向对象的方式抽象现实世界中的问题,并将其转化为可执行的代码,同时也涉及到对象间的交互、状态管理以及逻辑控制等面向对象编程的核心概念。
2013-03-25 上传
用面向对象方法和面向对象程序设计语言,实现满足下述要求的一个高层建筑电梯活动 仿真程序。 问题域概述 某国际展览中心共 40 层,设有载客电梯10 部(用E0~E9 标识)。 限定条件 (1) 电梯的运行规则是: E0、E1:可到达每层。 E2、E3:可到达1、25~40 层。 E4、E5:可到达1~25 层。 E6、E7:可到达1、2~40 层中的偶数层。 E8、E9:可到达1~39 层中的奇数层。 (2) 每部电梯的最大乘员量均为K 人(K 值可以根据仿真情况在10~18 人之间确定)。 (3) 仿真开始时,各电梯随机地处于其符合运行规则的任意一层,为空梯。 (4) 仿真开始后,有N 人(0<N<1000)在M 分钟(0<M<10)内随机地到达该国际 展览中心的1 层,开始乘梯活动。 (5) 每位乘客初次所要到达的楼层是随机的,令其在合适的电梯处等待电梯到来。 (6) 每位乘客乘坐合适的电梯到达指定楼层后,随机地停留10-120 秒后,再随机 地去往另一楼层,依此类推,当每人乘坐过L 次(每人的L 值不同,在产生乘客时随机地 在1~10 次之间确定)电梯后,第L+1 次为下至底层并结束乘梯行为。到所有乘客结束乘梯 行为时,本次仿真结束。 (7) 电梯运行速度为S 秒/层(S 值可以根据仿真情况在1~5 之间确定),每人上下时 间为T 秒(T 值可以根据仿真情况在2~10 之间确定)。 (8) 电梯运行的方向由先发出请求者决定,不允许后发出请求者改变电梯的当前运 行方向,除非是未被请求的空梯。 (9) 当某层有乘客按下乘梯电钮时,优先考虑离该层最近的、满足条件(8)、能够 最快到达目标层的电梯。 (10) 不允许电梯超员。 开发结果的行为特征 (1) 产生事件的周期为1 秒,每次可产生0 个或多个事件。 (2) 各随机事件由互不相关的伪随机数发生器决定。 (3) 设计一个易于理解的界面,动态显示各梯的载客与运行情况,动态显示各楼层 的人员停留情况与要求乘梯情况;动态显示从仿真开始到目前的时间。 (4) 显示时用应表示出不同的乘客及其当前所要求去往的楼层。例如,12-32 表示标 识为12 的乘客要求去往32 层。 (5) 统计各梯的运行与空闲时间;统计各人发出乘梯要求后的等待时间;仿真结束 后显示这些时间。 (6) 参数K、N、M、S、T 应从命令行输入。 (7) (选做)考虑有些乘客(随机决定)携带的物品体积较大,需占用1~2 人的电 梯空间(随机决定),且上下梯的时间比其他乘客长一倍的情况,再进行相应的仿真(注意, 不是所有的乘客都携带较大体积的物品)。这时,显示乘客及所去往的楼层时要能够识别出 是否携带了较大体积的物品。