机场航空管制模拟实验报告汇总

上传人:jiups****uk12 文档编号:90876865 上传时间:2019-06-19 格式:DOC 页数:28 大小:536.02KB
返回 下载 相关 举报
机场航空管制模拟实验报告汇总_第1页
第1页 / 共28页
机场航空管制模拟实验报告汇总_第2页
第2页 / 共28页
机场航空管制模拟实验报告汇总_第3页
第3页 / 共28页
机场航空管制模拟实验报告汇总_第4页
第4页 / 共28页
机场航空管制模拟实验报告汇总_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《机场航空管制模拟实验报告汇总》由会员分享,可在线阅读,更多相关《机场航空管制模拟实验报告汇总(28页珍藏版)》请在金锄头文库上搜索。

1、机场航空管制模拟实验报告实验题目假设机场有一条跑道,每架飞机需花费一定时间着陆,花费一定时间起飞,飞机的起降满足一定的概率。一般来讲,机场存在两个队列,一个等待着陆的飞机队列和一个等待起飞的飞机队列,同样等待时间下,等待着陆的飞机比准备起飞的飞机具有更高的优先级。试编写程序模拟这个机场的运行。要求使用队列或优先队列实现;要求可以变换起飞和着陆频率来模拟一天中的飞行高峰期和空闲期;要求可以改变着陆和起飞时间以模拟不同的效果。1. 实验内容分析1.1实验目的实验模拟了机场的航空管制,通过程序,来模拟管理飞机的起飞与着陆。它要求我们考虑起飞与着陆的优先级不同,以及根据飞机起飞/着陆时间,起飞/着陆频

2、率模拟机场一天的运营情况。并计算出跑道的繁忙程度、着陆飞机的总的等待时间和平均等待时间、起飞飞机的总的等待时间和平均等待时间, 计算每架飞机花费在一个队列中的平均时间。1.2内容分析系统主要模拟了机场一天的运营。所以,需要一个计时器(以分钟计时)来计算机场的运营时间。同时,为了管理飞机的起飞与着陆,需要两个队列来存放着陆和起飞的飞机。设计用户输入的数据为:机场开始、结束运营时间;高峰期开始、结束时间;空闲期开始、结束时间;着陆飞机最长等待时间;高峰期、空闲期以及一般时期每小时起飞、着陆的飞机数,飞机起飞、着陆需要的时间。考虑到机场的高峰期,与空闲期,设计了Workslot类,设定不同时期的飞机

3、起飞、着陆率。设计Timer类,其主要方法是实现计时功能和返回当前工作时间。Plane类主要功能是记录飞机开始等待时间,开始工作时间以及起飞、着陆所需时间。飞机起飞/着陆都需要花费一定的时间,并不是马上就完成的。所以在起飞/着陆服务函数中,不仅要调用spend(),还需要判断takeoff/landing是否结束。当t.now-startworktimeworkTime时,说明飞机还在准备着陆/起飞,占用了跑道。当t.now-startworktime=workTime时,表示飞机着陆/起飞成功。调用pop方法,从队列中删除一架等待服务的飞机,并获取当前时间,减去飞机接受服务的时间,得到该飞机

4、的等待服务时间。我们就可以计算出所有飞机的等待服务时间。等待起飞/着陆队列总长度,等待服务总时间,以及服务起飞/着陆的飞机总数,我们就可以得出起飞/着陆飞机的平均等待时间,平均等待队列长度。同时根据当天的的工作时间,跑道的忙碌时间,可以计算得到跑道的繁忙程度。1.3程序基本流程图 1 实验基本流程1.4基本数据结构,类设计1.4.1类 Airport输入:变量名注释Timer t; 计时器Struct Busy b; 跑道是否忙碌int takeoffTime; 飞机起飞所需时间int landingTime; 飞机着陆所需时间int startworkTime; 机场当天开始运营时间int

5、endworkTime;机场当天结束运营时间Class Workslot highslot; 高峰时间段Class Workslot lowslot; 空闲时间段Class Workslot otherslot; 一般时间段deque takeoffq; 等待起飞飞机队列deque landingq; 等待着陆飞机队列int workTime; 跑道忙碌时间int TwaitTime; 总起飞等待时间int LwaitTime; 总着陆等待时间int takeoffwaitTime; 所有起飞飞机总等待时间int landingwaitTime; 所有着陆飞机总等待时间int maxlandi

6、ngwaitTime;最大着陆等待时间int intakeoffNum; 进入起飞队列飞机数int inlandingNum; 进入着陆队列飞机数int takeoffNum; 已经起飞飞机数int landingNum; 已经着陆飞机数int t_rate;用来保存起飞速率int l_rate;用来保存着陆速率输出变量名备注t.now当前时间int takeoffNum当前已起飞飞机数量int landingNum当前已着陆飞机数量int intakeoffNum当前已入起飞队列飞机数int inlandingNum当前已入着陆队列飞机数deque takeoffq起飞队列,元素类型为飞机类

7、型deque landingq着陆队列,元素类型为飞机类型double(workTime/(endworkTime-startworkTime)跑道的繁忙程度(用机场总工作时间与跑道忙碌时间之比来衡量)double landingwaitTime着陆飞机总的等待时间double (landingwaitTime/landingNum)着陆飞机平均等待时间double (LwaitTime/landingNum)着陆飞机在队列中的平均等待时间double takeoffwaitTime起飞飞机总的等待时间double (takeoffwaitTime/takeoffNum)起飞飞机平均等待时间d

8、ouble (TwaitTime/takeoffNum)起飞飞机在队列中的平均等待时间int IntakeoffNum takeoffNum运营结束时,起飞队列中剩余飞机数量成员方法名备注void run()运行仿真void setTimer()设定计时器函数void setTakeoffTime(int t1)设定起飞所需时间函数void setLandingTime(int t2)设定着陆所需时间函数void setMaxlandingwaitTime(int mlwd)设定着陆飞机最大等待时间void setStartworkTime(string s)设定机场开始工作时间函数void

9、setEndworkTime(string s)设定机场结束工作时间函数void setHighslot(Workslot h)设定高峰期机场属性void setLowslot(Workslot l)设定空闲期机场属性void setOtherslot(Workslot o)设定一般时段机场属性1.4.2类Plane成员:方法名备注int startwaitTime开始等待时间int startworkTime开始起飞/着陆时间int workTime起飞/着陆时间1.4.3类Timer成员:方法名备注int now计时器当前时间void spend()计时累加函数1.4.4类Workslot

10、成员:变量名备注int startTime该时间段开始时间int endTime该时间段结束时间int takeoffRate起飞频率(每小时起飞数)int landingRate着陆频率(每小时着陆数)1.4.5结构 Busy成员:变量名备注bool is_takeoff跑道中是否为起飞飞机bool busy跑道是否忙碌1.5基本函数功能1.5.1 类SimulationsetTimer():设定计时器函数setTakeoffTime(int t1):设定起飞所需时间函数setLandingTime(int t2):设定着陆所需时间函数setMaxlandingwaitTime(int ml

11、wd):设定着陆飞机最大等待时间setStartworkTime(string s):设定机场开始工作时间函数setEndworkTime(string s):设定机场结束工作时间函数setHighslot(Workslot h):设定高峰期机场属性setLowslot(Workslot l):设定空闲期机场属性setOtherslot(Workslot o):设定一般时段机场属性run():模拟飞机场运营。display():该函数主要用于计算一些值,并输出在屏幕上。跑道的繁忙程度=workTime/(endworkTime-startworkTime)着陆飞机平均等待时间=landingw

12、aitTime/landingNum着陆飞机在队列中的平均等待时间=LwaitTime/landingNum起飞飞机总的等待时间=takeoffwaitTime起飞飞机平均等待时间=takeoffwaitTime/takeoffNum起飞飞机在队列中的平均等待时间=TwaitTime/takeoffNum起飞队列中剩余未起飞飞机数量=intakeoffNum-takeoffNum再使用输出语句输出这些值。1.5.2 类PlanePlane()用于初始化飞机的startwaitTime,startworkTime,workTime。Plane(int a,int b,int c)同上。1.5.3

13、 类TimerTimer()初始化当前时间。Timer(int n)同上。void spend()计时累加函数。2. 实验验证分析2.1输入的形式和输入值的范围变量名类型范围输入示例机场开始工作时间string0:0024:002:00机场结束工作时间string0:0024:0012:00高峰期开始时间string0:0024:002:00高峰期结束时间string0:0024:005:00空闲期开始时间string0:0024:006:00空闲期结束时间string0:0024:0010:00着陆飞机最长等待时间Int020高峰期飞机起飞率Int030高峰期飞机着陆率Int029空闲期飞机起飞率Int0高峰期飞机起飞率12空闲期飞机着陆率Int0高峰期飞机着陆率13一般情况飞机起飞率Int空闲期飞机起飞率高峰期飞机起飞率20一般情况飞机着陆率Int空闲期飞机着陆率高峰期飞机着陆率23起飞所需时间Int1103着陆所需时间Int11022.2输出的形式控制台下运行,结果输出

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号