一.题目要求二.程序设计定义三个函数int abs_(int a, int b, int c, int d);//判断响应满足请求最近的电梯号 int check(int goTo, int now);//检查电梯状态,并判断最近电梯是否满足条件(是否超重) int call(int now, int goTo, int dir, int a);//响应用户请求主函数void main() {
1 概述本单元我基于Java完成了一套多线程电梯运行与调度模拟系统。本文中我将按本单元3次作业的迭代顺序,总结我的设计思路与关键实现细节。通过本文,你可以了解到:简单的Java多线程设计模式多线程程序的增量开发方法2 作业回顾2.1 第一次作业本单元实现了北航新主楼A-E座共享输入单电梯系统。2.1.1 代码架构|- MainClass: 程序运行入口 |- Launcher: 启动器 |- Re
一、程序实现的功能1) 在Main程序中进行初始化之后定义一个计时器,每秒钟执行一次遍历。根据程序条件,决定是否需要改变、改变成什么样的下状态。 2) 人选择到达自己楼层最快的电梯,且该电梯能停到自己要到达的楼层。 3) 如果出现多个人等待电梯时,每次电梯到达时从队列顺序上电梯电梯满时停止。 4)需要一秒钟激励一次,而且判断出如果所有的
题目一栋10层的大楼(楼层编号1-10),设有一台无限载重的电梯,初始时电梯停在1层。电梯移动1层的耗时为1,在某一层停靠的耗时为1(时间初始为0)。为了使得乘客等待的时间(电梯在目的层的停靠时刻 - 乘客发出请求时刻)总和最小,请你编写一个程序来进行电梯调度。输入有5个请求,每个请求一行,格式为请求时刻 起始楼层数 去往方向,其中方向为0代表向上去往10层,为1代表向下去往1层。 输出每次对应的
转载 2023-11-29 09:12:51
156阅读
电梯问题是一个经典的调度问题,通常用于模拟电梯的工作机制,特别是在高层建筑中管理多个电梯的请求。本文将通过一个 Java 实现来深入探讨这个问题,实现的过程包括背景描述、技术原理、架构解析、源码分析、性能优化和扩展讨论。 ## 背景描述 电梯在现代建筑中扮演着越来越重要的角色,尤其是在高层建筑中,电梯数量和调度策略对人们的日常生活有着直接的影响。随着城市化进程的加快,建筑越来越高,电梯调度问题
原创 6月前
13阅读
# 电梯维保系统的Java代码示例 电梯维保(维保即维修与保养)是指对电梯设备进行定期检查、保养和必要的维修,以确保电梯的安全和正常运行。随着科技的发展,越来越多的公司开始利用信息技术来提升电梯维保的效率。在这篇文章中,我们将探讨如何使用Java编程语言来构建一个简单的电梯维保管理系统,并提供相应的代码示例。 ## 电梯维保系统的基本功能 一个基本的电梯维保系统应该具备以下主要功能: - 添
原创 11月前
132阅读
一、项目要求概述1.1 项目目的通过控制电梯调度,实现操作系统调度过程学习特定环境下多线程编程的方法学习调度算法1.2 开发环境语言:java系统平台:全平台(具备java环境)IDE:Intellij IDEA产品呈现模式:jar包执行环境要求:安装javaWin:安装java配置环境变量后双击Linux/Mac:命令行:java –jar 电梯.jar1.3 基本需求模拟20层楼中5架电梯的调
转载 2024-05-10 19:19:48
64阅读
# Java 实现电梯扫描算法 电梯作为现代建筑中不可或缺的一部分,其高效的运行对于每位乘客来说都是至关重要的。随着高层建筑的普及,电梯调度算法的优化显得尤为重要。本文将介绍电梯扫描算法的基本原理,并提供一个简单的 Java 实现示例,同时通过甘特图和类图来说明电梯调度的流程和结构。 ## 电梯扫描算法概述 电梯扫描算法主要是对电梯的调度进行优化,在乘客请求服务时,电梯会选择一个方向(向上或
原创 10月前
36阅读
001正常运行停止(Normalstop)说明: 正常运行停止。注:故障处理码缺省不存入CADI附加信息:无产生源识别:无可能故障原因:a) 无应采取措施: 不需要002MC(微处理机)异常(Exception MC)说明:微处理机异常,系统跳至异常运行并自行中断附加信息:无产生源识别:无可能故障原因:a)b)EMC 问题c)印板故障应采取的措施: a)无论何种情况,与EBI联系b)检查建筑物内的
2014年3月18日 星期二下午19:00-21:00我们明确了未来几天的工作任务电梯调度这个程序我们已经弄了一周了,在这一周里我们网上搜索了好多相关的东西,找了很多的资料,一开始做出来的电梯只有一部电梯,而且存在很多很多的缺陷,很多要求的功能都不能实现,而且一筹莫展,所以我们讨论了接下来的这几天的主要任务,如下:1、实现4部电梯共同运作2、实现电梯门的开关控制的动画效果3、实现控制电梯人数以及体
   这次老师安排的是结对编程作业,也是第一次接触两人结对编程,感觉比较新鲜,有感觉难以入手,在经过协商之后,我们一起完成了我们的编程作业,感觉到很开心,也体会到合作的愉快,这是我们这次的成果。 这是这次的题目,感觉操控4个电梯比较困难,而且考虑情况很多,所以我们在做了很多的构想以后,我们才开始编写程序。1 #include<iostream> 2 #
目录1. 设计策略多线程间的协同同步控制2. 架构设计的可扩展性可扩展性功能设计和性能设计设计原则SOLID检查SPR-Single Responsibility PrincipleOCP-Open Close PrincipleLSP-Liskov Substition PrincipleISP-Interface Segregation PrincipleDIP-dependency Inve
转载 2023-07-19 11:38:00
159阅读
结队成员习志敏and沈聪.前言    首先,非常感谢老师可以为我们提供组队编程的环境,从大一开始,几乎每一次编程都是自己独立完成,最多是实在找不出错误去问一下同学,这次结队编程中,我很荣幸能够和沈聪成为一队,刚开始,我们对对方都不是特别了解,但在一起编程的这几周里,我发现我们的性格能力刚好互补,起初,我们一起讨论了一下这个作业的基本算法,然后各自说了一下自己的想法,初步的写了一
这次的作业是一个结对作业,我对我的Partner比较熟悉,信任和放心,而他对我也是如此,这对我们顺利完成项目有很大的有利影响。我们一开始比较默契的是都想到用Java语言进行编写代码,我认为以后工作可能对Java的优势比较大,另外我对Java,Eclipse也比较熟悉,于是我们就想通过这次作业提升一下自己的Java编程的能力。好了,下面介绍我们的代码——可以看到,我们设计了一共6个类,其中电梯有四个
1.算法解析扫描算法(SCAN)又称电梯调度算法,SCAN算法是磁头前进方向上的最短查找时间优先算法,它排除了磁头在盘面局部位置上的往复移动,SCAN算法在很大程度上消除了SSTF算法的不公平性,但仍有利于对中间磁道的请求。电梯调度算法是从移动臂当前位置开始沿着臂的移动方向去选择离当前移动臂最近的那个柱访问者,如果沿臂的移动方向无请求访问时,就改变臂的移动方向再选择。这个算法好比乘电梯,如果电梯
一. FCFS(First Come First Serve)假设当前磁道在某一位置,依次处理服务队列里的每一个磁道,这样做的优点是处理起来比较简单,但缺点是磁头移动的距离和平均移动距离会很大。这种方法在请求较少的环境下,性能尚可接受,但是在请求较多的情况下,这种算法的性能就会严重下降,甚至恶化。 二. SSTF(Shortest Seek Time First)SSTF,最短寻道时间算
Java实现电梯调度算法电梯算法简介题目代码实现效果图 电梯算法简介当磁头正在由里向外移动时,电梯调度算法所选择的下一个访问对象应是其欲访问的磁道,既在当前磁道之外,又是距离最近的。这样由里向外地访问,直至再无更外的磁道需要访问时,才将磁臂换向,由外向里移动。这时,同样也是每次选择在当前磁道之内,且距离最近的进程来调度。 ——摘自百度百科 网上大多将电梯调度算法和扫描算法看作同一个算法,我们老师
转载 2023-08-11 14:05:57
106阅读
电梯模拟程序--从设计到实现                  ---结对项目开发:张永&吴盈盈  这是一个大家都很熟悉的题目,很多人也做过类似的题目。最近也发表了很多的关于电梯模拟的程序。下面说一下我们小组的基本思想。  题目拿到后,我们先是讨论了一下电梯的整体设想。对这个题目进行了粗略的分析。从面向对象的角度对问题剖析:   下面开始电梯的界面设计:  界
目录文档介绍package: lift.entityElevator.javaEntity.javaFloor.javapackage: lift.PretreatmentPretreatment.javapackage: lift.requestE
原创 2023-05-31 00:01:32
70阅读
一、分次作业总结1、傻瓜电梯的调度(1)设计策略    作为面向对象中多线程的入门,电梯调度单元整体难度并不是很大,其中的重点就在于如何实现多线程中各个线程工作的安全执行。在第一次作业中最重要的是如何实现共享资源的维护,即如何实现共享队列的维护,保证电梯请求的有序执行;以及在请求结束时程序的正常退出。    在做第一次作业时,我的设计策略主要是用一个Arra
转载 2023-06-21 23:12:42
241阅读
  • 1
  • 2
  • 3
  • 4
  • 5