电梯模拟课程设计
电梯模拟课程设计方案模板

随着城市化进程的加快,电梯作为一种重要的交通工具,其安全性和智能化程度日益受到重视。
为了让学生更好地了解电梯的工作原理、控制方法及维护保养,本课程设计旨在通过模拟电梯运行,让学生在理论与实践相结合的过程中,掌握电梯相关知识和技能。
二、课程目标1. 理解电梯的基本组成和工作原理;2. 掌握电梯控制系统的编程方法;3. 熟悉电梯的维护保养流程;4. 培养学生的创新思维和团队协作能力。
三、课程内容1. 电梯基本知识(1)电梯的组成及工作原理;(2)电梯的驱动方式及控制系统;(3)电梯的运行参数及安全标准。
2. 电梯控制系统设计(1)PLC编程基础;(2)电梯控制系统的硬件设计;(3)电梯控制系统的软件设计;(4)电梯控制系统的调试与优化。
3. 电梯维护保养(1)电梯的日常维护保养;(2)电梯的故障排除及应急处理;(3)电梯的定期检修与维护。
1. 教学方法(1)理论教学:采用多媒体教学手段,结合实物展示,使学生了解电梯的基本知识;(2)实践教学:通过模拟电梯运行,让学生亲自动手操作,掌握电梯控制系统的编程、调试与优化;(3)项目教学:以实际电梯为例,让学生参与电梯维护保养的全过程,提高学生的实际操作能力。
2. 教学过程(1)课堂讲授:教师讲解电梯基本知识、控制系统设计及维护保养等内容;(2)实验操作:学生在教师指导下,完成电梯控制系统的编程、调试与优化;(3)项目实践:学生分组进行电梯维护保养,完成项目任务。
五、课程评价1. 课堂表现:学生出勤率、课堂纪律及参与度;2. 实验操作:学生完成电梯控制系统的编程、调试与优化情况;3. 项目实践:学生参与电梯维护保养的项目完成情况;4. 期末考核:理论考试、实践操作考核及项目答辩。
六、课程总结通过本课程设计,学生能够全面了解电梯的相关知识,掌握电梯控制系统的编程、调试与优化方法,以及电梯的维护保养流程。
同时,培养学生的创新思维和团队协作能力,为今后从事电梯行业打下坚实基础。
教学版电梯模型设计方案

一、项目背景随着城市化进程的加快,电梯已成为现代建筑中不可或缺的设施。
为了让学生更好地理解电梯的工作原理,培养他们的实践操作能力,我们设计了这款教学版电梯模型。
二、设计目标1. 帮助学生理解电梯的基本工作原理;2. 培养学生的动手能力和创新意识;3. 提高学生对电梯安全知识的认识;4. 激发学生对自动化控制技术的兴趣。
三、设计方案1. 模型结构(1)框架结构:采用轻质金属框架,保证模型的稳定性和耐用性。
(2)轿厢:模拟真实电梯轿厢,内部空间可根据需求进行调整。
(3)井道:模拟真实电梯井道,采用透明材料,便于观察电梯内部结构。
(4)对重:模拟真实电梯对重,保证电梯运行平稳。
2. 控制系统(1)主控制器:采用PLC(可编程逻辑控制器)作为主控制器,实现电梯运行的逻辑控制。
(2)传感器:配备多种传感器,如光电传感器、限位开关等,实时监测电梯运行状态。
(3)驱动系统:采用步进电机或伺服电机作为电梯驱动,实现电梯的垂直运动。
3. 功能模块(1)楼层显示:采用LCD显示屏,显示当前楼层和目标楼层。
(2)按钮控制:设置楼层按钮,实现电梯的上下运动。
(3)故障模拟:模拟电梯故障,让学生了解电梯故障处理方法。
(4)语音提示:配备语音提示模块,对电梯运行状态进行提示。
4. 安全保护(1)急停按钮:设置紧急停止按钮,确保在紧急情况下能够迅速停止电梯。
(2)超载保护:设置超载保护装置,防止电梯超载运行。
(3)门机保护:设置门机保护装置,防止门机故障导致电梯安全事故。
四、实施步骤1. 设计阶段:完成电梯模型的整体设计,包括结构、控制系统、功能模块和安全保护等方面。
2. 制作阶段:根据设计方案,进行电梯模型的制作,包括框架、轿厢、井道、对重、传感器、驱动系统等。
3. 调试阶段:对电梯模型进行调试,确保各部分功能正常,运行稳定。
4. 教学应用:将电梯模型应用于教学,让学生通过实践操作,掌握电梯的工作原理和操作方法。
五、总结本教学版电梯模型设计方案旨在为学生提供一种直观、易懂的电梯教学工具,帮助学生更好地理解电梯工作原理,提高他们的实践操作能力。
电梯课程设计---电梯模拟控制系统设计

电气控制技术课程设计任务书20 11 -20 12 学年第 2学期第 19 周- 19 周题目电梯模拟控制系统设计内容及要求运行要求:运行程序时,电梯停在一楼。
如按下A3,电梯从一楼到二楼,并等待再按选择楼层按钮,如再按A6按钮则电梯从二楼到四楼,然后再按A1按钮电梯会从四楼到一楼。
其它情形实验者可多做几次,其具体效果与实际电梯相类似。
根据运行要求,画出控制系统线路图、列输入输出分配表、编写梯形图并逐条加注释,且写出程序流程图。
完成课程设计说明书与课程设计报告。
进度安排1、讲授课程设计的要求、任务和方法,布置设计题目(0.5天);2、查阅资料,确定设计方案(1天);3、设计、实验调试并完成课程设计报告(2.5天);4、当场个人答辩及报告评阅(1天)。
学生姓名:蔡系海指导时间 2012 年6月 18日至2012年6月 22日指导地点: F楼 212室任务下达2012 年 6月 15日任务完成2012年6月 22日考核方式 1.评阅□ 2.答辩□ 3.实际操作□ 4.其它□指导教师系(部)主任摘要随着我国经济的高速发展,微电子技术、计算机技术和自动控制技术也得到了迅速发展,电梯也已成为人类现代生活中广泛使用的运输工具。
随着人们对电梯运行的安全性、舒适性等要求的提高,电梯得到了快速发展,其拖动技术已经发展到了调频调压调速,其逻辑控制也由 PLC 代替原来的继电器控制。
可编程控制器(PLC)因为稳定可靠、结构简单、成本低廉、简单易学、功能强大和使用方便已经成为应用最广泛的通用工业控制装置,成为当代工业自动化的主要支柱之一。
电梯控制要求接入设备使用简便,对应系统组态的编程简单,具有人性化的人机界面,配备应用程序库,加快编程和调试速度。
通过 PLC 对程序设计,提高了电梯的控制水平,并改善了电梯的电梯运行的舒适感。
本文争对以上优点,对电梯运行进行了改进,使其达到了比较理想的控制效果。
关键词 PLC 电梯控制系统目录前言.......................................................... .5一. 四层电梯控制上下行主电路 (7)二. 四层电梯控制电路图 (7)三. 四层电梯门电机控制电路原理 (7)四. 程序流程图 (8)五. 输入/输出的分配表 (8)六.四层电梯控制程序梯形图 (9)七. 心得体会 (13)八. 参考文献 (14)前言伴随着工厂自动化程度的提高,PLC可编程控制器在工厂中的应用也越来越广泛,而且几乎涉及到工厂的各个方面,包括供电、生产、物料管理、运输等等。
基础课程设计 模拟电梯的设计与制作

电子课程设计报告设计课题:模拟电梯的设计与制作专业班级:09级电子信息工程2班设计时间: 2011年10月10日—12月31日目录一、结构设计方案选择 (3)方案一:模拟洗衣机电机控制部分 (3)方案二:模拟电梯 (4)方案比较与选择 (7)二、摘要 (6)三、模拟电梯的设计思路与要求 (7)四、单元电路设计、参数计算及元器件选择 (8)4.1 ADC0809 (8)4.2 显示部分 (10)4.3 矩阵键盘模块 (11)4.4 单片机最小系统............................................................................ .... .. (12)4.5 步进电机控制电路 (12)4.6 电梯实体的设计............................................................................ ... ................. . (15)五、总原理图及元器件清单 (16)5.1 电路总原理图 (16)5.2 元件清单 (17)5.3 实验器材与工具 (17)5.4 程序部分 (18)六、焊接电路及调试中遇到的问题 (22)6.1 单片机最小系统的调试 (23)6.2 显示部分的调式 (23)6.3 矩阵键盘的调试 (23)6.4 电梯实体的调试 (23)6.5 整体的调试与电路与实题的耦合............................................................. . (23)七、参考文献 (24)八、心得与体会 (24)一、结构设计方案选择:方案一:模拟洗衣机1、设计任务与要求用一个简单的时序逻辑电路来取代传统洗衣机所用的机械开关,实现对电流的控制,正转一定时间,停止2秒左右,再反转一定时间,再停止2s如此反复。
电梯模拟程序课程设计

电梯模拟程序课程设计一、课程目标知识目标:1. 让学生理解电梯的工作原理,掌握电梯运行的模拟编程知识。
2. 使学生掌握利用流程图描述电梯运行逻辑的方法。
3. 帮助学生理解并运用条件语句和循环语句实现电梯模拟程序。
技能目标:1. 培养学生运用编程语言(如Scratch或Python)编写简单电梯模拟程序的能力。
2. 培养学生通过流程图分析问题、解决问题的能力。
3. 提高学生团队协作、沟通交流的能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学生主动探索新知识的热情。
2. 培养学生严谨、细心的学习态度,增强面对困难的勇气和毅力。
3. 培养学生遵守程序设计规范,养成良好的编程习惯。
课程性质:本课程为信息技术学科的课程,以项目式学习为主,注重实践操作和团队合作。
学生特点:学生为五年级学生,具备一定的信息技术基础,对新事物充满好奇,喜欢动手操作。
教学要求:教师需引导学生通过自主探究、小组合作等方式完成课程内容,注重培养学生的实践能力和创新精神。
同时,关注学生的个体差异,提供有针对性的指导。
通过本课程的学习,使学生能够达到上述课程目标,实现具体的学习成果。
二、教学内容1. 电梯工作原理介绍:包括电梯的基本结构、运行原理、信号控制系统等,让学生对电梯的运行机制有整体认识。
2. 编程语言基础:回顾并巩固Scratch或Python编程语言的基础知识,如变量、列表、条件语句、循环语句等,为编写电梯模拟程序打下基础。
3. 流程图设计:学习如何利用流程图描述电梯运行的逻辑过程,分析电梯运行中的各种情况,并进行流程图设计。
4. 电梯模拟程序编写:根据流程图,运用所学编程知识,分组合作编写电梯模拟程序,实现基本的运行、停止、开门、关门等功能。
5. 程序调试与优化:指导学生如何调试程序,发现并解决程序中的问题,提高程序的稳定性和运行效率。
教学内容安排和进度:第一课时:电梯工作原理介绍,回顾编程语言基础知识。
第二课时:学习流程图设计,分析电梯运行逻辑。
电梯模拟c语言课程设计

电梯模拟c语言课程设计一、课程目标知识目标:1. 让学生掌握C语言的基本语法,包括变量定义、数据类型、运算符和表达式。
2. 使学生了解电梯运行原理,运用C语言实现电梯的模拟控制。
3. 帮助学生掌握程序流程控制,包括顺序结构、分支结构和循环结构。
技能目标:1. 培养学生运用C语言编写程序的能力,实现电梯的楼层显示、上下行控制等功能。
2. 提高学生分析问题、解决问题的能力,通过编程解决电梯运行中的实际问题。
3. 培养学生团队合作精神,共同完成课程设计任务。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,提高学习积极性。
2. 培养学生严谨、细致的学习态度,养成良好的编程习惯。
3. 增强学生对电梯等现代交通工具的原理认识,提高科技创新意识。
本课程针对高中年级学生,结合C语言课程内容,以电梯模拟为载体,使学生将所学知识应用于实际场景。
课程注重培养学生的编程能力和实际问题解决能力,同时注重团队合作和情感态度的培养,使学生在知识、技能和情感态度价值观方面取得全面发展。
通过本课程的学习,学生将能够独立完成电梯模拟程序的设计与实现,为后续学习打下坚实基础。
二、教学内容1. C语言基础回顾:变量定义、数据类型、运算符和表达式。
2. 程序流程控制:顺序结构、分支结构(if语句、switch语句)、循环结构(for循环、while循环)。
3. 电梯运行原理:电梯的基本结构、运行模式、楼层显示、上下行控制。
4. 函数与模块化编程:函数定义、调用、参数传递;模块化编程思想。
5. 数组与字符串:一维数组、二维数组;字符串的基本操作。
6. 指针与动态内存分配:指针的概念、使用方法;动态内存分配函数。
7. 结构体与文件操作:结构体的定义、使用;文件读写操作。
教学内容安排和进度:1. 第一周:C语言基础回顾,程序流程控制。
2. 第二周:电梯运行原理,函数与模块化编程。
3. 第三周:数组与字符串,指针与动态内存分配。
4. 第四周:结构体与文件操作,综合实践。
java课程设计报告(模拟电梯系统)

Java课程设计报告组号:第四组课题名称:模拟电梯调度班级:09计一课题组成员姓名及学号:09030101课程设计日期:2011.6.20-2011.6.24地点:秋白楼B720一.正文1)[课程设计目的与要求]○1目的掌握线程的应用及线程在多媒体中的使用,了解线程的运行机制和线程的新建、就绪、运行、挂起、死亡五种状态,对线程由新的认识和巩固。
熟练java的动画编程,理解repaint()方法的调用过程及如何通过改写update()方法和双缓冲技术消除动画中出现的闪烁现象。
理解java的容器和组件的应用。
掌握java的事件处理机制:实现ActionListener接口,对事件源添加侦听器,实现actionPerformed()方法用以处理事件源所产生的事件。
另外使组员能够针对具体的有一定代表性的小型综合应用类课题设计、分析,全面掌握面向对象的思想、JAVA语言的应用技巧、方法,从而使组员进一步理解和掌握利用JAVA开发综合系统的过程,学会用java开发工具,同时培养组员的合作意识和团队精神,培养学生对实际系统的采用面向对象的方法进行分析与设计能力,从而使学生提高JAVA语言运用与开发的综合能力。
○2需求分析模拟电梯调度:有一栋三层的楼房,楼内有三个电梯。
要求电梯实现可以正常上下,和到达目的楼层后即停留并且实现开门及关门动作。
电梯需有多层停留功能即:当对同一个电梯需要其在多层都有下客时,电梯要在有下客动作的楼层停留然后自动去下一个有下客动作的楼层,而不需要乘客在次发出请求。
电梯具有距离发出请求的楼层最近的电梯响应请求的功能即:当某一楼层有乘客需要使用电梯时,由距离该楼层最近的电梯去响应,而不是任意一个电梯都可以响应。
(注:当存在距离该楼层最近的电梯且该电梯正在远离该楼层运动时该电梯不响应,当存在多个电梯距离该楼层最近时由编号低的电梯响应而不是全都响应。
2)[本人在课程设计中承担的任务]在课程设计中我主要负责事件处理,并判断该事件是何种事件,需要做出怎样的响应。
电梯模拟课程设计

课程设计实验报告课程名称__数据结构__题目名称电梯模拟专业班级学号学生姓名指导教师_2011 年1 月日一、需求分析及实现提示[需求分析](1)、模拟某校五层教学楼的电梯系统。
该楼有一个自动电梯,能在每层停留。
五个楼层由下至上依次称为地下层、第一层、第二层、第三层和第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来该层候命。
(2)、乘客可随机地进出于任何层。
对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。
(3)、模拟时钟从0开始,时间单位为0.1秒。
人和电梯的各种动作均要耗费一定的时间单位(简记为t):有人进出时,电梯每隔40t测试一次,若无人进出,则关门关门和开门各需要20t每个人进出电梯均需要25t如果电梯在某层静止时间超过300t,则驶回1层候命。
(4)、按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。
[实现提示](1)楼层由下至上依次编号为0,1,2,3,4。
每目有要求Up(上)和Down(下)的两个按钮,对应l0个变量CallUp[0..4]和CallDown[0..4]。
电梯内5个目标层按钮对应变量CallCar[0..4]。
有人按下某个按钮时,相应的变量就置为1,一旦要求满足后,电梯就把该变量清为0。
(2)电梯处于三种状态之一:GoingUp(上行)、GoingDown(下行)和IdIe(停候)。
如果电梯处于IdIe状态且不在1层,则关门并驶回1层。
在1层停候时,电梯是闭门候命。
一旦收到往另一层的命令,就转入GoingUp或GoingDown状态,执行相应的操作。
(3)用变量Time表示模拟时钟,初值为0,时间单位(t)为0.1秒。
其他重要的变量有:Floor——电梯的当前位置(楼层);D1——值为0,除非人们正在进入和离开电梯;D2——值为0,如果电梯已经在某层停候300t以上;D3——值为0,除非电梯门正开着又无人进出电梯;State——电梯的当前状态(GoingUp,GoingDown,IdIe)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计实验报告课程名称______数据结构_____ 题目名称电梯模拟学生学院__ ____专业班级__学号_______学生姓名______ __ ___指导教师______ ________2009 年月日一、需求分析一需求分析(1)、模拟某校五层教学楼的电梯系统。
该楼有一个自动电梯,能在每层停留。
五个楼层由下至上依次称为地下层、第一层、第二层、第三层和第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来该层候命。
(2)、乘客可随机地进出于任何层。
对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。
(3)、模拟时钟从0开始,时间单位为0.1秒。
人和电梯的各种动作均要耗费一定的时间单位(简记为t):有人进出时,电梯每隔40t测试一次,若无人进出,则关门关门和开门各需要20t每个人进出电梯均需要25t如果电梯在某层静止时间超过300t,则驶回1层候命。
(4)、按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。
二、概要设计1、乘客类型反映乘客的所有属性。
ADT Client数据对象:D={ai∈乘客信息,I=1,2,…,n,n≥0}数据关系:R={<ai-1,ai>|ai-1,ai∈D,i=2,…,n}基本操作:PrintClientInfo(Client const &e,ClientStatus s)操作结果:输出乘客信息。
CreatClient(Client *&p)操作结果:生成新的乘客。
DestoryClient(Client *&p)操作结果:该乘客离开系统。
GoAbove(Client const &e)操作结果:判断该乘客是否去往高层。
CInfloor(Client const &e)操作结果:返回乘客进入的楼层。
CInTime(Client const &e)操作结果:返回乘客进入时间。
COutfloor(Client const &e)操作结果:返回乘客进入时间。
}2、乘客栈类型电梯内的乘客用乘客栈表示,去不同楼层的乘客放在不同的栈中。
ADT Estack数据对象:D={ai∈乘客信息,I=1,2,…,n,n≥0}数据关系:R={<ai-1,ai>|ai-1,ai∈D,i=2,…,n}基本操作:略。
}3、等候队列类型在电梯外等待的乘客用等待队列表示。
每层各有两个等待队列,分别为上楼队列和下楼队列。
与一般队列不同的是在基本操作中加入了放弃操作CGiveUp(WQueue &Q,int floor)。
4、电梯类型表示电梯的各个属性和所有动作。
ADT Elevator∈电梯信息,I=1,2,…,n,n≥0}数据对象:D={ai基本操作:InitEle(Elevator &E)操作结果:初始化电梯类型。
DestoryEle(Elevator &E)操作结果:销毁电梯类型。
EleDecide(Elevator &E,WQueue w[Maxfloor+1][2])操作结果:电梯动作决策。
ElevatorRun(Elevator &E,WQueue w[Maxfloor+1][2]){操作结果:电梯状态转换。
CountOver(Elevator &E)操作结果:判断电梯计时是否完成。
EleFloor(Elevator const &E)操作结果:返回电梯所在的层。
EleStatus(Elevator const &E)操作结果:返回电梯状态。
RequireAbove(Elevator const &E)操作结果:判断是否有高层请求。
RequireBelow(Elevator const &E)操作结果:判断是否有低层请求。
EleAchieved(Elevator &E)操作结果:判断电梯是否要停于当前层。
EleOpenDoor(Elevator &E)操作结果:判断电梯是否要开门。
}5、高楼模块实现电梯和乘客之间的互交功能。
包括:InOut(Elevator &E,WQueue w[Maxfloor+1][2])操作结果:进行乘客的进出电梯活动。
NewClient(Elevator &E,WQueue w[5][2])操作结果:进入新乘客。
PrintStatus(Elevator &E,WQueue w[5][2])操作结果:输出当前状态。
Print(Elevator &E,Action a)操作结果:输出电梯动作信息。
6、主程序主程序主要处理两类事件:乘客事件和电梯事件。
除此之外,主程序还处理各个模块的初始化和销毁工作,以及电梯状态的输出。
乘客事件包括新乘客到达事件,乘客放弃等待事件,乘客进出电梯事件。
电梯事件包括电梯运行事件。
7、本程序包含6个模块:(1)主程序模块(2)乘客模块(3)乘客栈模块(4)电梯模块(5)等待队列模块(6)高楼模块:实现电梯和乘客之间的互交。
各模块之间的调用关系如下:三、详细设计三详细设计//所有常量,全局变量和类型定义#define NULL 0 //空指针#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2#define INT_MAX 32767//Status是函数类型,其值是函数结果状态代码typedef int Status;#define Empty 0//------------------------------------------------------//电梯状态enum EleStatus{Opening,Opened,Closing,Closed,Moving,Decelerate,Waiting}; enum Action{DoorOpened,DoorClosed,GoingUp,GoingDown,Achieved,None};enum EleStage{Up,Down,OpenDoor,Stop};enum ClientStatus{New,GiveUp,In,Out,Finish};#define CloseTest 40 //电梯关门测试时间#define OverTime 300 //电梯停候超时时间#define Accelerate 15 //加速时间#define UpTime 51 //上升时间#define DownTime 61 //下降时间#define UpDecelerate 14 //上升减速#define DownDecelerate 23 //下降减速#define DoorTime 20 //开门关门时间#define InOutTime 25 //进出电梯时间#define Maxfloor 4 //最高层#define Minfloor 0 //最低层long Time=0; //时钟long MaxTime;//系统运行最长时间int InOutCount=0;//用于进出计时int InterTime=0;//下一乘客进入系统的时间int ID=0; //乘客编号int GiveUpNumber=0;//乘客放弃的数目int TotalTime=0;//总共等待时间部分重要操作的算法:1、判断运动方向函数EleDecide的算法:2、统计高层和低层的请求(不包括当前层)。
3、高层和低层均无请求:发出Stop命令。
4、否则,1)若电梯在上升期:1. 若有高层请求:上升;2.若无高层请求:转下降期,下降。
2)若电梯在下降期:1. 若有低层请求:下降;2. 若无有低层请求:转上升期,上升。
判断电梯是否要停于当前层函数EleAchieved的算法:1.该层的CallCar为1;2.该层在上升(下降)期有上升(下降)请求(判断CallUp或CallDown);3.上升(下降)期高(低)层没有请求而该层由下降(上升)请求,要转换运行时期。
判断电梯动作函数ElevatorRun的算法:1.若电梯在Opening状态,则转至Opened状态。
2.若电梯在Opened状态,若无人进出,则转至Closing状态。
3.若电梯在Closed状态,则根据电梯请求情况转至相应状态。
4.若电梯在Closing状态,则转至Closed状态。
5.若电梯在Moving状态,若达到目标层,则转至Decelerate状态。
否则,继续移动。
6.若电梯在Decelerate状态,则设定电梯时期,并转至Opening状态。
若电梯在Waiting状态,在判断是否等待超时,若超时则向第一层移动。
否则,判断电梯请求情况并转至相应状态。
四、调试分析本设计中涉及时间函数的使用,由于刚开始接触,这方面的使用相当有难度。
使用不当就容易造成编译不通过或者运行时发送错误报告。
还有在电梯调度方面不能按照预定的想法实现,所以和现实中的电梯有出入。
没有显示电梯的运行到哪里,而是用有乘客进入电梯时显示乘客进入到哪层楼来告知电梯运行到几楼。
开门,关门时需要精心思考,此处记时及判断是否要开门也是难点,所以这些看似很平常的动作却是最难也是最容易错的地方。
此外在指针的使用方面也是难点,很多地方比如乘客进队出队以及放弃乘坐电梯时均涉及指针的使用,也经常在这些地方通不过编译。
为了便于控制循环,设计了电梯运行时间,则在时间到达时即可退出系统。
由于开始为了简化程序而定义了很多变量,结果发现并不实际,有的变量仅是在某些函数中赋予其值罢了,于是就将这些变量删除,比如开始按照提示设置了D1—表示人们正在进出电梯等等。
五、用户手册程序运行后输入程序的运行时间,电梯开始运行。
在本设计中,用0—4分别表示地下一楼至四楼,用户只要按照提示依次输入正确的数值,每次按下回车键即认为已经输入信息。
此后只需等待系统自行进行处理,若未显示乘客放弃乘坐电梯即认为该乘客已达目的楼层。
此间程序会一直运行到开始时输入的运行时间,此时整个程序运行结束,按任意键退出。
此操作可参考测试成果中的效果图。
六、测试结果从测试结果看,乘客放弃数的大小和平均等待时间的长短还与乘客出现的密度和乘客的平均容忍时间有关系。
八、心得体会1、通过这次作业,加深了我对《数据结构》这门课程的学习和领会。
以往只是知道这门课程对计算机专业很重要,但具体起来又不明白到底怎样重要?通过设计,我才体会到没有《数据结构》的知识是无法写程序的!2、实践是检验真理的唯一手段!《数据结构》中的许多理论必须通过实践才能体会到它的真正含义。