交通信号灯模拟操作系统可设.docx
- 文档编号:25677597
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:13
- 大小:172.44KB
交通信号灯模拟操作系统可设.docx
《交通信号灯模拟操作系统可设.docx》由会员分享,可在线阅读,更多相关《交通信号灯模拟操作系统可设.docx(13页珍藏版)》请在冰豆网上搜索。
交通信号灯模拟操作系统可设
交通信号灯模拟操作系统可设
学院
信息学院
专业
运算机科学与技术
学生姓名
学号
题目
交通信号灯模拟
内容及要求:
内容:
一个十字路口,共有四组红绿灯,每个路口的车辆都遵循"红灯停,绿灯行"的原则,假设将每一台汽车都作为一个进程,请设计良好的机制,展现出合理的"十字路口交通治理"情形.
车辆通行设定:
路口宽度不限,对一个路口而言,只有当一辆车通过路口(越过对面路口的交通灯后)后,其后续车辆才能连续通过交通灯,车辆通过路口的时刻能够固定,能够自行运算。
进程的互斥:
交通灯进程实际上是互斥的,即不能同时为红或者同时为绿.
进程的消息通信或其他通信方式:
对车辆进程而言,每一个车辆在通过路口前,必须确认前面的车辆差不多通过了路口.
进程的调度:
停留在一个路口的车辆,决定其前进或等候的因素是交通灯和前面车辆的状态,需要设计一个良好的进程调度机制来操纵所有车辆的通行。
要求:
1.设计数据结构,储备结构;
2.在VC++6.0或兼容环境完成上述题目的代码编写与调试;
3.程序运行界面交互性好;
4.给出测试实例。
任务交付:
1.程序源代码;
2.课程设计论文及电子文档。
进度安排:
本课程设计时刻为16、20教学周。
其中包含设计、代码调试、课程设计论文撰写几个时期。
第1周查找资料、完成初步设计、代码设计与初步调试;
第2周调试、测试、验收、课程设计论文撰写、答辩。
指导教师(签字):
年月日
学院院长(签字):
年月日
名目
1需求分析………………………………………………….…….2
1.1设计要求………………………………………………….2
1.2解决方案……………………………………………….…2
2概要设计……………………………………………………......2
2.1函数定义讲明………………………………………....…2
2.2结构设计讲明……………………………………........…2
2.3算法流程图………………………………………........…3
3详细设计…………………………..………………………....…4
3.1核心函数的设计……...…………………………….……4
3.2主函数的设计……........................................................…7
4调试分析…………………………..……………………….…...8
4.1调试过程及结果……...…………………………….……8
4.2结果分析……...…………………………………….…..10
5课设总结…………………………..………………………......10
6参考文献…………………………..……………………..........10
1需求分析
1.1设计要求
一个十字路口,共有四组红绿灯,每个路口的车辆都遵循"红灯停,绿灯行"的原则,假设将每一台汽车都作为一个进程,请设计良好的机制,展现出合理的"十字路口交通治理"情形.
车辆通行设定:
路口宽度不限,对一个路口而言,只有当一辆车通过路口(越过对面路口的交通灯后)后,其后续车辆才能连续通过交通灯,车辆通过路口的时刻能够固定,能够自行运算。
进程的互斥:
交通灯进程实际上是互斥的,即不能同时为红或者同时为绿.
进程的消息通信或其他通信方式:
对车辆进程而言,每一个车辆在通过路口前,必须确认前面的车辆差不多通过了路口.
进程的调度:
停留在一个路口的车辆,决定其前进或等候的因素是交通灯和前面车辆的状态,需要设计一个良好的进程调度机制来操纵所有车辆的通行。
1.2解决方案
按照设计要求,在VC++6.0环境下编译,设计了一个能够实现自由模拟某一时段交通状况并能推测某辆车需要多久才能到达路口的系统程序,改程序达到了设计要求,成功地实现了要求功能。
2概要设计
2.1函数定义讲明
本设计中,定义了两个函数实现P、V原语的操作,其中P(inti)函数实现了i方向上车辆等待数目减一,车辆编号增一以及输出的功能,V(inti)函数实现了时刻的增加,交通转换灯的转换,无车标志的转换以及输出的功能。
同时定义了东西调度函数ETW()和南北调度函数STN(),最后因此定义了main()来调用上述函数实现动态演示及推测功能。
2.2结构设计讲明
为了实现题设的要求,在VC++6.0环境下编译实现,整个系统的要紧流程设计为如下步骤:
1.定义全局变量用来存放实验所需差不多信息
2.change函数实现交换无车标志的功能
3.P函数模拟P原语的功能
4.V函数模拟V原语的功能
5.ETW函数实现东西方向的车辆调度
6.STN函数实现南北方向的车辆调度
7.main函数实现程序的输入接口以及模拟演示
2.3算法流程图
选取部分核心流程图如下:
图2.1P函数图2.2V函数
图2.3main函数
3详细设计
3.1核心函数的设计
设计P(inti)函数用来实现从i(东西南北)方向等待车辆中挑出当前的第一个并让其通行,同时记录此车的编号,输出此车的发车时刻,代码如下:
voidP(inti)//P函数,i为方向判定标志
{
if(Max[i]>0)
{
Max[i]=Max[i]-1;//i方向上的车辆等待数目减一
R[i]++;//当前车辆编号
if((PS-1)==i&&R[i]==PN)
PT=Time;//储存推测时刻
cout<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通 信号灯 模拟 操作系统