欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    交通信号灯模拟PV操作.docx

    • 资源ID:6121785       资源大小:53.83KB        全文页数:15页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    交通信号灯模拟PV操作.docx

    1、交通信号灯模拟PV操作 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】交通信号灯模拟PV操作133333901交通信号灯模拟第一章课程设计目的和要求课程设计目的根据学院课程安排,在大三的第一个学期我们开设了操作系统这门课程,操作系统可以说是是计算机系统的核心和灵魂,是计算机系统必不可少的组成部分。通过学习,对于操作系统的运行方式以及设计理念有了较清楚的认识。要想真正学好并理解操作系统这门课程,不但需要理解操作系统的概念和原理,还需要加强操作系统实验,上机进行编程实践,现在一学期的课程已经结束,本次课程设计在同学们掌握理解该课程的基础上,

    2、对操作系统内部的一些具体项目的实现方法进行实战演练,通过实践将知识彻底掌握。操作系统课程设计是该课程重要的实践教学环节。通过这次课程设计,一方面可以使学生更透彻地理解操作系统的基本概念和原理,摆脱抽象的理解,从实践中将理论具体化;另一方面,通过课程设计还可以加强学生的实践能力,培养学生独立分析问题、解决问题、应用知识的能力和创新精神。本次课程设计的题目为交通信号灯模拟,在熟练掌握课本所讲解的计算机的P操作和V操作的原理的基础上,利用C+程序设计语言在windows操作系统下模拟实现交通信号灯的模拟,一方面加深对原理的理解,另一方面提高根据已有原理通过编程解决实际问题的能力,为进行系统软件开发和

    3、针对实际问题提出高效的软件解决方案打下基础。课程设计要求在深入理解操作系统基本原理和充分理解课题的基础上,对于选定的题目,独立自主思考,通过查阅相关资料,先确定设计方案,设计程序的运行流程,分析程序所需的模块及各个模块所包含的功能,之后设计每个模块的处理流程,并画出相应的流程图,要求设计合理,利用VC+编程实现,并且程序要拥有可视化的运行界面,界面应清楚地反映出系统的运行结果,之后个人确定好测试方案,选择测试用例,对系统进程测试,运行程序并截图,截图要能充分说明结果,说明系统的使用方法和特点,并提交课程设计报告。对于模拟交通信号灯的情况,要求在掌握P、V操作的基础上,能够进行合理的调度,并利用

    4、各种算法来实现车辆通行、控制、记录等功能。第二章课程设计任务内容课程设计任务一个十字路口,共有四组红绿灯,每个路口的车辆都遵循红灯停,绿灯行的原则,假设将每一台汽车都作为一个进程,请设计良好的机制,展示出合理的十字路口交通管理情况.车辆通行设定:路口宽度不限,对一个路口而言,只有当一辆车通过路口(越过对面路口的交通灯后)后,其后续车辆才能继续通过交通灯,车辆通过路口的时间可以固定,可以自行计算。进程的互斥:交通灯进程实际上是互斥的,即不能同时为红或者同时为绿.进程的消息通信或其他通信方式:对车辆进程而言,每一个车辆在通过路口前,必须确认前面的车辆已经通过了路口.进程的调度:停留在一个路口的车辆

    5、,决定其前进或等候的因素是交通灯和前面车辆的状态,需要设计一个良好的进程调度机制来控制所有车辆的通行。课程设计原理本实验利用P、V操作进行设计。信号量S是一个整数,S大于等于零时代表可供并发进程使用的资源实体数,但S小于零时则表示正在等待使用临界区的进程数。P原语操作的动作是:(1)S减1;(2)若S减1后仍大于或等于零,则进程继续执行;(3)若S减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。V原语操作的动作是:(1)S加1;(2)若相加结果大于零,则进程继续执行;(3)若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调

    6、度。PV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。在PV原语行期间不允许有中断的发生。本课题利用P操作和V操作来模拟车辆的出发和到达。课程设计内容假设在一个十字路口,共有四组红绿灯,每个路口的车辆都遵循红灯停,绿灯行的原则,假设将每一台汽车都作为一个进程,要求设计良好的调度机制,展示出合理的十字路口交通管理情况.对于本程序,对于车辆通行,设定为路口的宽度不限,对一个路口而言,只有当一辆车通过路口(越过对面路口的交通灯后)后,其后续车辆才能继续通过交通灯,车辆通过路口的时间可以固定,并且可以自行计算。交通灯的进程实际上是互斥的,即不能同时为红或者同时为绿.对车辆进程而言,每一个车

    7、辆在通过路口前,必须确认前面的车辆已经通过了路口.同时,停留在一个路口的车辆,决定其前进或等候的因素是交通灯和前面车辆的状态,需要设计一个良好的进程调度机制来控制所有车辆的通行。在模拟车辆运行的进程中,要求可以按要求捕捉所需要的车辆的出发时间。在进程程序设计的过程中要保证程序运行的流畅度,合理模拟车辆遇到红绿灯变换是黄灯的暂停情况。对于结果的分析要能够得到具有代表性的数据,比如可以根据用户需要捕获特定的某辆车的情况等。第三章详细设计说明模块描述对于交通信号灯模拟程序,其功能模块图如下图3-1所示:图3-1交通信号灯模拟程序功能模块图对于交通信号灯模拟程序,系统需要实现的功能包括:1、模拟车辆驶

    8、出十字路口的一端。2、模拟车辆到达路十字路口的另一端。3、可以记录需要的车辆的出发时间和编号。4、利用有效的调度程序对车辆的行进进行相应的控制。5、要能对车辆是否能行进进行合理的判断。6、要能合理的进行红绿灯的变换操作。性能描述交通信号灯模拟程序,要求能模拟出交通信号灯处的车辆运行状况,要求能进行合理的调度和红绿灯切换,不考虑车辆在十字路口中间行驶的过程,视为离开后下一时刻直接到达对面。要求能记录想要记录的车辆的运行时间以及车辆编号。车辆的运行通过P操作和V操作执行,P操作进行车辆驶出的操作,V操作进行车龄到达的操作。车辆运行调度通过ETW和STN执行,分别判断南北向和东西向是否有车,由此来控

    9、制是否能进行通车。红绿灯的变换用来调整南北和东西是否有车的状态,同时进行输出,报告红绿灯切换状态并暂停2秒。输入项对于交通信号灯模拟程序,需要的输入项包括:东、西、南、北四个方向的车辆数量,需要记录的车两的驶来方向和需要记录的车辆的编号,如表3-1所示。表3-1自行输入数据表数据项名称东车数量南车数量西车数量北车数量编号方向数据类型intintintintintint数据值有效范围0100010001000100任意任意输入媒体键盘键盘键盘键盘键盘键盘需要在定义里定义的数据,可自行更改,如下:绿灯持续时间,如表3-2所示。表3-2初始定义数据表输入项名称红绿灯变幻时间数据类型int有效范围任意

    10、(建议3040)输入媒体键盘输出项对于交通信号灯模拟程序,需要的输出项包括:车辆行驶的方向、车辆编号、车辆出发时间,如表3-3所示:表3-3输出项表输出项名称行驶方向车辆编号出发时间数据类型charintint可选值E、W、S、N任意任意长度1任意任意输出位置屏幕屏幕屏幕数据结构为了实现题设的要求,在VC+环境下编译实现,整个系统的主要流程设计为如下步骤:1.定义全局变量用来存放实验所需基本信息函数实现交换无车标志的功能函数模拟P原语的功能函数模拟V原语的功能函数实现东西方向的车辆调度函数实现南北方向的车辆调度函数实现程序的输入接口以及模拟演示算法介绍设计P(inti)函数用来实现从i(东西南

    11、北)方向等待车辆中挑出当前的第一个并让其通行,同时记录此车的编号,输出此车的发车时间。设计V(inti)函数实现时间的流逝,红绿灯的转换以及无车标志的转换,同时输出上一时刻调用P函数车辆的到达时间。设计东西调度函数ETW()以及南北调度函数STN()在互斥方向无车且绿灯状态下循环调用P、V函数实现单方向队列上车辆的循环调度。设计main()函数用来提供程序的输入接口,并实现南北东西方向函数的交叉调度,以及预测车辆出发时间的输出显示。流程图主程序流程图交通信号灯模拟程序,运行开始时显示制作人信息,确定后按要求输入各个方向的车辆数量,之后输入初始红绿灯状况并输入要记录的车辆的来向和车辆编号。组程序

    12、的流程图如图3-2所示。图3-2交通信号灯模拟主程序流程图算法流程图P(inti)函数用来实现从i(东西南北)方向等待车辆中挑出当前的第一个并让其通行,同时记录此车的编号,输出此车的发车时间,P操作算法流程图如图3-3所示。图3-3P操作算法流程图V(inti)函数实现时间的流逝,红绿灯的转换以及无车标志的转换,同时输出上一时刻调用P函数车辆的到达时间,V操作算法流程图如图3-4所示:图3-4V操作算法流程图接口描述intMax4说明:记录东、西、南、北四个方向的车数量。intTime说明:记录当前行进时间。intR30说明:记录当前车辆的编号。intPS说明:用来存储东西南北的数字编号。in

    13、tPN说明:存储预测车辆编号。intPT说明:用来存储测车辆出发时间。intSN说明:东西有无车(1无车,0有车)intEW说明:南北有无车(1无车,0有车)intT说明:红绿灯变幻时间。intL2说明:东西方向红绿灯状态,0时为红灯,1时为绿灯。charFX4说明:用来存储东西南北四个方向的名字,分别为E、W、S、N。限制条件交通信号灯模拟程序限制条件如下:1、每个方向的车辆数量不能超过100;2、车辆按照先后次序进行排号,不能自定义编号;3、必须指定程序开始执行时的红绿灯状况。第四章软件使用说明系统开发与运行环境代码实现:C+语言程序开发工具:MicrosoftVisualC+运行环境:w

    14、indowsXP或更高版本操作系统执行方式:文件打开后直接执行窗口界面:MS-DOS窗口界面操作方式:全键盘控制操作需要相关专业技能:无42系统的运行说明交通信号灯模拟程序的运行说明如下:1、按照系统提示一步一步向下走即可顺利执行程序。2、输入数据的过程中一定要尽量保证数据的正确性,防止因数据不正确而造成程序的崩溃等问题。3、在所有数据都输入之后,程序会自动直接开始运行,运行过程中程序会自动执行到最后,而不会运行一步停下来等待用户的指示,因此为了保证用户检验数据,请在运行之前做好充分的数据记录,以便与理论值进行对照。本系统是一款多功能,操作方便,界面友好的软件。软件所提供的所有功能都可以通过键

    15、盘操作实现,简单易行,会给用户的相关操作带来很大方便。运行结果1、系统初始界面如图4-1所示。图4-1系统初始界面2、如果这里输入错误,会显示如图4-2所示的界。图4-2错误报警3、当输入正确后,会显示如图4-3所示的内容。图4-3输入正确显示4、选择红绿灯状态后会出现图4-4的界面。图4-4选择红绿灯5、依次输入四个方向的车的数量之后出现如图4-5所示的画面。图4-5输入车辆数6、选择预测方向之后会出现如果4-6所示的画面。图4-6选择预测方向7、输入预测的车辆编号之后会直接开始执行,出现如图4-7所示的画面。图4-7输入编号开始执行8、在运行过程中遇到红绿灯切换的状态,如图4-8所示。图4

    16、-8红绿灯切换文字及延时9、最终运行完毕后,程序会给出相应预测的结果,内容如图4-9所示。图4-9预测结果第五章课程设计心得体会三周的课程设计结束了,我的课程设计题目是交通信号灯模拟,通过课程设计我对P操作和V操作又有了更深入的认识,同时更加熟练的掌握了利用VC+去解决这类模拟问题的方法。这次课程设计的题目不难,应该说是比较简单的,实现的过程也比较的顺利,没有特别大的难点,虽然比较简单,但是依然能从中学到不少程序设计的方法,虽然是在windows平台上进行设计,但也能从一定的程度上对Linux系统的设计方法得到了更深入的了解,加深了自己对课本上知识的认识。最后,感谢老师对我的学习的指导!附录1

    17、:参考文献1胡志刚,谭长庚等,计算机操作系统,中南大学出版社2005年2罗宇,邹鹏等,操作系统(第二版),电子工业出版社2007年4月3汤子瀛,哲风屏,汤小冉等,计算机操作系统,西安电子科技大学出社,2001年8月4张尧学,史美林,计算机操作系统课程,清华大学出版社,2000年5庞丽萍,操作系统原理,华中理工大学出版社,2000年6马季兰等Linux操作系统,电子工业出版社2002年7任爱华,李鹏,刘方毅,操作系统实验指导,清华大学出版社,2004年8谭浩强着.C程序设计,清华大学出版社,1999年12月第2版9谭浩强着.C+程序设计实践指导,清华大学出版社,2005年7月底1版从问题分析到程

    18、序设计,电子工业出版社,2003年7月第1版附录2:程序清单交通信号灯模拟:#include#include#include#includeusingnamespacestd;intMax4;intTime=0;intR30;intPS=1,PN=1,PT=1,SN=0,EW=1;intT=30;intL2;charFX4;voidP(int);voidV(int);voidchange();voidSTN();voidETW();voidP(inti)灯n; couta; if(a=1) L0=0; L1=1; break; if(a=2) L0=1; L1=0; break; cout请依

    19、次输入东、西、南、北等待的车辆数:Max0Max1Max2Max3;/输入各方位车辆数量 cout请输入选择预测的方向:endl; cout东n; cout西n; cout南n; coutPS; cout请输入预测车辆的编号:PN;Time=0;T=32; EW=1; SN=1; FX0=E; FX1=W; FX2=S; FX3=N; while(Max0!=-1&Max1!=-1&Max2!=-1&Max3!=-1)/表示四个方向有车循环,无车就停止循环 if(L0=0) STN(); ETW(); else ETW(); STN(); cout向FXPS-1行驶编号为PN的车辆预测出发时间为:PTendl; return0;


    注意事项

    本文(交通信号灯模拟PV操作.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开