首页教程软件资讯正文

算法题红绿灯,程序题关于模拟十字路口的车辆通行情况的程序,用c++

发布时间:2024-05-03 14:10:25 来源:其它 作者:未知

1,程序题关于模拟十字路口的车辆通行情况的程序,用c++

1,程序题关于模拟十字路口的车辆通行情况的程序,用c++

十字路口有四条支道,每道支道上停着等着开往其它三条支道的车辆,每一个时间片段内只允许一条支道上的车辆行驶

程序整体框架设计上可以采取事件驱动方式比较简单,即程序的主循环体每执行一次表示经历了一个时间片段,在这段时间内要计算四条支道上又增加了几辆车,有几辆车离开了十字路口,注意每随机产生一辆车时至少要包括它在哪条支道上出现要开往哪条支道等,或者反过来在这个时间片断内某条支道上出现了几辆开往特定支道的车辆

不清楚你要模拟到何种程度,车辆在过十字路的时间可否忽略不计?车辆排队的长度是否也要考虑?不会说要用图形界面形象地演示吧?

如果你的模型足够简单,十字路口被简化成两条相交的直线,那么你只需要一组简单的对象(如12个整型变量)足以表征状态!当然可以还需要几个变量用于统计历史数据

然而现实世界是足够复杂的,举个简单的案例:某个支道上已经排了很长的车队,交通灯指示当前这个支道上的辆车可以通行了,等你前面的车都开过了十字路口,终于轮到你的时候,时间已到红灯已亮!更为复杂的是交通灯的控制为了避免这种情况可能就不是等时间间隔地轮换了车辆开开停停不是匀速运动,这点你也该很清楚的

另外提醒你车辆的随机出现,不要以为只有一种均匀分布的随机数产生方式!通过一些公式可以换算出泊松分布什么的...

记住这是一个很有意思的算法设计课题,不要受OOP思潮的毒害,动不动就想到类什么的,我们要关心的是框架设计和流程控制把它当作是几何题来理解更是可笑至极!

程序流程上还可以设计得更复杂些,就是用多线程去模拟多辆车,用事件去模拟交通灯,如果你愿意程序可以采取时间驱动的方式运作,更为接近现实世界

存在这么几个类

场景

车辆

指示灯

规则

怎么发挥就看你了

实际就是3维空间中曲面的函数问题.

如果是多叉路口,(包括十字路口)的交通灯状态控制,实际就是四色问题.

中华人民共和国道路交通安全法实施条例第五十二条规定,机动车通过没有交通信号灯控制也没有交通警察指挥的交叉路口,应当遵守

下列规定:

(一)有交通标志,标线控制的,让优先通行的一方先行;

(二)没有交通标志,标线控制的,在进入路口前停车瞭望,让右方道路的来车先行;

(三)转弯的机动车让直行的车辆先行;

(四)相对方向行驶的右转弯的机动车让左转弯的车辆先行

2,关于可能性的数学问题

2,关于可能性的数学问题

涉及到条件概率,P(R|A),P(R|B)分别表示小明在选择A,B路的条件已经发生的情况下,遇上红灯的概率P(A),P(B)分别表示选择A,B路的概率P(R∩A),P(R∩B)分别表示小明选择A,B路并且遇上红灯的概率P(R)表示小明遇上红灯的概率(我所理解的题目所求概率,应该没错--!)

由题意知P(R|A)55%,P(R|B)45%,P(A)P(B)50%

P(R)P(R∩A)+P(R∩B)P(R|A)*P(A)+P(R|B)*P(B)50%

1.每个色子出现6个数字的可能性都是相同的,都是1/6,而第一个出现4,第二个也出现4的可能性是1/6

2.第一个4,第二只有出现1时,点数和5不满足大于5,其余5个数字都满足数学和大于5,所以大于5的可能性是5/6

3.456三张卡片可组成6个三位数,其中4个是双数,所以组成三位数是双数的可能性是2/3

文章TAG: 程序 十字路口 车辆通行 模拟 情况 红绿灯 算法题红绿灯

还没有评论,快来抢沙发吧!

最新发现

相关资讯

新闻热榜

热门游戏

精彩专题