联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Matlab编程Matlab编程

日期:2018-05-29 01:52


程序设计基础训练(80L878Q)

实验#7

交付物提交时间要求

 详见《程序设计基础训练课程安排表》;

相关知识点

 模块化程序设计;

 软件开发流程;

 软件设计文档编制;

需自学的相关技术

 无

实验目的

 训练学生强化程序设计与开发能力;

 训练学生掌握软件设计开发流程;

 训练学生掌握软件设计文档编制方法。

实验内容

 程序设计:

1)改造实验6中的程序,将电梯仿真过程的结果输出并存储到结果文件中,输出形式分为两种:第一种为详细过程输

出方式,将电梯每一个时间点所处的状态及正在响应的用户请求输出,输出格式如图7-1所示。

从图7-1可看出,仿真程序对一个仿真用户指令数据记录文件进行了仿真,文件中包含5个用户指令,仿真过程可描述

如下(仿真结果部分):

 0 时刻,电梯位于1层,处于停止状态;

 3 时刻,第一个用户请求到来,电梯响应。此时电梯位于1层,状态由停止状态变更为上行状态。电梯当前服

务指令变为“<10,5,3>”,对该指令的服务状态为“服务前”,记作:<10,5,3,P>;

 12 时刻,电梯到达10层(一个时间间隔电梯走一层)。电梯状态由上行状态变更为停止状态。电梯对指令

“<10,5,3>”的服务状态由“服务前”变更为“服务中”,记作:<10,5,3,E> 。此时,第二条指令

“<9,1,5>”已经到来且判断电梯可以同时响应,因此电梯当前服务指令变为:“<10,5,3,E>,<,9,1,5,P>”;

2

图7-1仿真运行结果详细输出

 13 时刻,电梯变为下行状态,此时电梯仍位于10层;

 14 时刻,电梯到达9层,等待用户进电梯,电梯状态变为停止。对指令“<9,1,5>”的服务状态变更。电梯当

前服务指令变为:“<10,5,3,E>,<9,1,5,E>”;

 15 时刻,电梯开始下行,电梯状态改变。此时电梯位于9层;

 19 时刻,A电梯达到5层,对指令“<10,5,3>”的响应结束。电梯处于停止状态,当前服务指令变为:

“<9,1,3,E>”;

 20 时刻,电梯开始继续下行,响应指令“<9,1,5>”。此时电梯位于5层,处于下行状态;

 24 时刻,电梯到达1层,完成用户指令“<9,1,5>”的响应,电梯状态变更为停止,电梯开始响应新的指令。

此时电梯位于1层,处于停止状态。经过判断后,电梯当前服务指令变为:“<2,8,10,P>,<1,7,15,E>”;

 25 时刻,电梯开始上行,电梯状态变为上行。此时电梯位于1层;

 26 时刻,电梯到达2层,电梯对指令“<2,8,10>”的服务状态改变,电梯状态变更为停止。电梯当前服务指

令变为:“<2,8,10,E>,<1,7,15,E>”;

 27 时刻,电梯开始继续上行,电梯状态变更为上行;

3

 32 时刻,电梯到达7层,完成了对用户指令“<1,7,15>”的响应,电梯状态变更为停止。电梯当前服务指令

变为:“<2,8,10,E>”;

 33 时刻,电梯开始继续上行,状态转换为上行,此时电梯仍位于7层;

 34 时刻,电梯到达8层,完成对用户指令“<2,8,10>”的响应,状态转换为停止。检查待响应指令队列,发

现仍有未响应指令,开始响应新指令。电梯当前服务指令变为:“<10,1,20,P>”;

 35 时刻,电梯开始上行接用户,状态转换为上行,电梯仍位于8层,当前服务指令变为:“<10,1,20,P>”;

 37 时刻,电梯到达10层,状态转换为停止,对指令“<10,1,20>”的服务状态改变。此时电梯位于10层,处

于停止状态,电梯当前服务指令变为:“<10,1,20,E>”;

 38 时刻,电梯开始下行,状态转换为下行,此时电梯仍位于10层;

 47 时刻,电梯到达1层,完成对用户指令“<10,1,20>”的响应,整个电梯服务过程结束,仿真结束。

第二种输出形式为概要输出模式,其输出格式如图7-2所示。其中仿真总时长指电梯完成所有用户请求指令的服务所用

的时间总数;电梯运行长度指在电梯仿真过程中总共运动的楼层数,以图7-2所示仿真为例,通过图7-1的仿真详细过程可

以看出,在进行仿真时,电梯先由1层运行到10层(上行9 层),然后又从10层运动到1层(下行9层),再然后又从1

层运动到10 层(上行9层),最后从10 层再次运动到1层(下行9层),所以总运行长度为36层。

图7-2仿真运行结果概要输出

2)在实验6 中,采用循环加sleep函数方式模拟电梯的运行,请在实验6程序,实现当用户选择文件方式输出时,不

执行sleep函数进行延迟;

3)对于仿真结果的输出形式,可以由用户以命令行参数的形式给出;

4)设计功能函数实现对实验4程序配置文件的修改功能;

5)程序通过菜单方式向用户提供功能,提供的功能及菜单显示效果如下:

【菜单显示效果举例】

XXX的实验7程序:

1. 调用实验4程序生成1个数据记录文件并完成对该文件的仿真(控制台输出,不输出结果文件)

2. 调用实验4程序生成1个数据记录文件并完成对该文件的仿真(输出结果文件,详细过程输出方式)

4

3. 调用实验4程序生成1个数据记录文件并完成对该文件的仿真(输出结果文件,概要输出方式)

4. 调用实验4程序生成n个数据记录文件并完成对这n个文件的仿真(输出结果文件,概要输出方式)

5. 调用实验4程序生成n个数据记录文件并完成对这n个文件的仿真(输出结果文件,概要输出方式,带仿真计时)

6. 修改实验4程序的配置文件

0. 退出

请输入您要执行的程序序号:

6)当一次仿真多个数据记录文件时(对应功能菜单中的4、5),将仿真结果概要信息输出到同一个结果文件中去,以

概要输出模式为例,当一次仿真多个数据记录文件时,其输出结果如图7-3 所示。

图7-3 多文件仿真结果效果图

7)当一次仿真多个数据记录文件时(对应功能菜单中的5),记录生成数据记录文件的耗时情况、加载数据记录文件

的耗时情况及电梯仿真程序结果全部生成完成的耗时情况,输出到仿真结果文件中去,其输出结果如图7-4所示。

图7-4 多文件仿真结果效果图(带计时信息)

5

 撰写文档:

请同学们参考实验5的设计文档大纲格式,编制电梯仿真程序的程序设计文档(涵盖实验6和实验7),对电梯仿真程

序进行的设计进行详细说明;

结果提交

 程序调试通过后,由授课教师课堂检查并记录成绩;

 实验完毕后需提交程序工程源代码、release版本程序和程序设计文档,以压缩包的形式提交给任课教师;

 请使用本课程所要求的命名规范对压缩包及其内部文件、文件夹进行命名,详见《程序设计基础训练实验命名规

范》;

成绩评定

 采分点:

 程序是否独立调试通过并运行正常;

 程序格式是否规范,程序是否易于阅读;

 设计文档内容是否详实、所反映出的学生对实验6、7程序的设计是否完善。


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp