- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
口袋中装有八个小球,其中有三个是白球,三个是黄球-无锡市湖滨中学
概率计算的算法设计
徐锡滨
(江苏省无锡市湖滨中学,214000)
摘要:本文对一些典型的概率问题进行了算法设计,从而应用随机模拟方法经过大量的试验求出概率。通过这些问题的讨论,从概率的定义出发,结合算法以及计算机的知识,给出不同于高中传统方法的概率问题解决方法。
关键词:概率,算法,随机模拟。
1.问题背景:
在现行的《普通高中数学课程标准(实验)》中,概率的教学被安排在必修阶段,而排列组合的教学被安排到了选修阶段。那么脱离了排列组合怎样进行概率的教学,我们在概率教学的理念上要有怎样的变化?《普通中数学课程标准(实验)解读》明确地指出:“概率教学的核心问题是让学生了解随机现象与概率的意义。”教材中通过豌豆实验,抛硬币的实验这一些例子介绍了概率这一概念本质的定义,即通过大量重复的实验得到一事件发生的概率。由于这一过程很烦琐不易操作,且不容易考查所以往往在教学过程中被忽视。但是应该注意到的是,这样大量重复实验仍然是得到某一事件概率的重要方法,在保险、统计等领域始终沿用。那么在计算机发展的今天我们是不是可以通过随机模拟方法(亦称蒙特卡罗方法),利用算法以及计算机的整合,通过计算机模拟出大量重复的实验,从而得到概率?
2.设计思想
在《必修3》中学生已经学习了算法知识,以及简单的算法语言。那么我们是不是可以通过算法中的循环语句,让计算机进行大量随机模拟,从而得计算出概率。笔者通过实际的操作发现只要通过这的一些简单的算法语言,再结合计算机技术就几乎可以解决我们到高中阶段所遇到的概率问题。在本文列举了一些计算概率的设计案例。在具体的操作中只要在Excel工作表中,选择“工具/宏/Visual Basic编辑器”编写适当的算法,在计算机中模拟进行大量的实验从而得到概率。在编写的过程中主要用到的是算法中的For语句,以及While语句,另外还有Excel VBA中的Rnd函数(随机函数),Mod函数(求余数函数),Int函数(取整函数),Abs函数(求绝对值函数)。
3.设计案例
例1 口袋中装有八个小球,其中有三个是白球,五个是黄球,从中一次取出两个球,那么取出的两个球都是白球的概率是多大?
分析:在本题中同样可以用0到7这八个数代表八个球,其中编号为0~2的球代表白球,但是所得到的两个球是不可以重复选中的,即x在0到7中随机地选择了一个数以后,要保证再次随机选择的y不能和x重复,所以可以采用如下算法
Sub 不放回()
s = 0
n = InputBox(实验次数)
For i = 1 To n
x = Int(8 * Rnd)
z = Int(7 * Rnd) + 1
y = (x + z) Mod 8
If x 3 And y 3 Then s = s + 1
Next i
MsgBox (同时摸到两个白球的概率为) s / n
End Sub
(注:Int(8 * Rnd)表示在0~7中随机地选一个整数)
在算法设计中要注意保证选出的x ,y两个球不可以重复。除了上面用到的方法,根据高中阶段的知识,可以用While语句判断x与y是否相同,若x=y则可以对y进行重新随机赋值(具体例子可以参看例5)。实验重复了一千万次实验后得到的概率是0.1071192 而由公式算出的概率是0.10714。
例2 共有三双鞋,随机地取出两只,求取出的二只鞋恰好可以配成一对的概率。
分析:在本题中可以将0,1,2,3,4,5六个数字看成6只鞋,其中(0,5),(1,4),(2,3)可以分别配对。他们的特点是两数之和等于5,根据这一点可以将鞋子配对的问题转化成为数量的关系
Sub 鞋子配对()
s = 0
n = InputBox(实验次数)
For i = 1 To n
x = Int(6 * Rnd)
z = Int(5 * Rnd) + 1
y = (x + z) Mod 6
If x + y = 5 Then s = s + 1
Next i
MsgBox (两只鞋子可以配对的概率是) s / n
经过大量的试验得到两只鞋子可以配对的概率是0.1999459。通过上面三道例题可以看出用算法解决概率问题关键是如何将问题按要求转换成为数字之间的关系。只要将实际问题转化为算法问题,概率问题都可以很容易地求出,再比如下面的例题。
例3如图元件A,B,C构成了一个电路,其中A能正常工作的概率为,B能正常工作的概率是,C能正常工作的概率是,求电路可以形成通路的概率。
(分析:这是一个电路交并连求概率的问题,交并连的关系可以转化为逻辑中的“或”与“且”的关系)
Sub 电路()
s = 0
n = Inpu
文档评论(0)