发稿-陈翔- 超级画板环境下模拟概率实验.doc_第1页
发稿-陈翔- 超级画板环境下模拟概率实验.doc_第2页
发稿-陈翔- 超级画板环境下模拟概率实验.doc_第3页
发稿-陈翔- 超级画板环境下模拟概率实验.doc_第4页
发稿-陈翔- 超级画板环境下模拟概率实验.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

超级画板环境下的的模拟概率试验陈 翔(湖北省宜昌市第三中学)摘要:利用超级画板的函数功能和数据迭代功能模拟概率试验,可以克服实物试验次数不可能足够多,试验过程重复枯燥,不能保证试验的随机性等缺点,而且简便易行。其关键在于如何用函数功能将试验结果转化为0和1两个数值,并利用数据迭代功能自动统计试验结果。关键词:超级画板;模拟概率试验;随机函数;数据迭代收稿日期:2012-06-28作者简介:陈翔(1963 ),男,湖北宜昌人,湖北省宜昌市第三中学教研组长,宜昌市中考命题组成员,宜昌市第2,3,4届学科带头人,湖北省骨干教师。北师大版课标教材中有很多概率试验,如投针试验,抽牌试验,投硬币试验,转盘试验等,如果让学生在课堂上利用实物进行试验,那么一堂本来很有趣的数学课将因为大量的重复性操作试验而变得十分枯燥无味,更重要的是,这样的实物试验,不仅不能保证试验的次数足够多,而且不能保证试验的随机性,从而影响试验的结果。超级画板是一款功能十分强大的国产数学教育软件,其函数功能尤其值得称道,它除了支持一些常用的函数,如三角函数、对数函数外,还支持随机函数、符号函数、取整函数等特殊函数。正是由于它支持众多函数,还具有独特的数据迭代功能,利用它进行模拟概率试验非常方便。下面以投针试验、抽牌试验、生肖相同的概率试验、投硬币试验四个课件为例,讲讲如何利用超级画板进行模拟概率试验。先看投针试验,这是历史上的一个十分著名的试验,也叫布丰(Buffon)投针试验,北师大版课标教材是在九年级上册第六章第二节向学生介绍这个试验的。虽然我们也可以用几何画板模拟该试验,但由于几何画板不支持随机函数,也没有比较简便可行的统计试验结果的方法,导致制作过程异常复杂。如果用超级画板进行模拟试验,则十分简便(如图1)。图1课件制作的基本思想是:用固定长度的线段AB代表针,函数y=0,y=1,y=7的图象代表直线,当线段AB的位置随机变化时,让超级画板自动判断线段AB是否和上述直线相交,并自动统计相交的频率。该课件的制作有三个关键问题需要解决:一是如何实现投针的随机性,二是如何判断针与直线是否相交,三是如何统计相交的次数和频率。解决这些问题首先要熟悉超级画板的函数功能,还要扎实的数学功底。先看如何实现投针的随机性。先将线段AB的一个端点A的横纵坐标都设置为随机函数rand的值,这样点A就是一个随机点。具体做法是:将点A的横坐标设置为rand(-6,6),纵坐标设置为rand(0,6),这里,rand(-6,6)表示在-6和6之间随机选取一个数,rand(0,6)表示在0到6之间随机选取一个数。这样设置的点A的横坐标在-6和6之间,纵坐标在0和6之间,因而投下去的针只能落在一个长为12,宽为6的矩形内。我们将代表针的线段AB的长度R暂时固定,另一端点B实际上是处于半随机状态,因为点B只能是以A为圆心,以R为半径的圆上的一个随机点,AB就是圆的一条随机选取的半径。点B的设置方法是:先测量点A的横、纵坐标,不妨设为xA,yA,再计算rand(0,2)的值,设此值为,将此值作为针和x轴的正方向的夹角,再将针的另一端点B的横坐标设置为xAR*cos,纵坐标设置为yAR*sin。表达式中的星号“*”代表乘号,这是超级画板的运算符号输入规则。这里要特别注意:点B的横、纵坐标不能直接设置为xAR*cos(rand(0,2)和yAR*sin(rand(0,2),因为这样设置时,cos(rand(0,2)中rand(0,2)和sin(rand(0,2)中的rand(0,2)并非同一个角!这是因为rand(0,2)表示在0到2之间随机产生一个数,前一个rand(0,2)和后一个rand(0,2)产生的随机角是同一个角的可能性几乎为0!所以我们首先要计算表达式rand(0,2)的值,再将这值作为针和x轴的正方向的夹角。以下几个模拟试验都要注意这个问题。至于试验中的直线,可以用函数y1,2,7(自变量的范围均在-66之间)的图像代替。最后在x轴上任意选取一个点,并制作该点的动画后按钮,点击这个按钮后,就可以看见“投针”的效果,每投一次,可以让学生用肉眼判断针和直线是否相交,最后手工计算统计结果,这样显然不方便,所以我们还想让超级画板自动统计试验结果,这就是以下两个步骤要解决的问题,当然首先要让超级画板判断针和直线是否相交。先介绍超级画板的取整函数和绝对值函数。超级画板的取整函数floor的值规定为不大于自变量的整数,例如,floor(3.95)=3,floor(4.05)=4,floor(0.5)=0,绝对值函数abs的值就是自变量的绝对值。先测量针的两端A,B的纵坐标(设其值分别为yA和yB),然后计算表达式abs(floor(yA)floor(yB)的值,如果此值等于1,说明针和直线相交,如果此值等于0,说明针和直线不相交。请读者仔细想想其中的道理。下一个关键步骤是如何让超级画板统计针和直线相交的次数,也就是表达式abs(floor(yA)floor(yB)的值等于1的次数。在超级画板中,计算出的表达式的值或者测量某一个量得到的值,超级画板会依次将其编号为m000,m001,m002,如果在此之前计算表达式abs(floor(yA)floor(yB)的值编号为m008,那么以后两个即将计算出表达式的值的编号依次为m009和m010!此时如果立即计算表达式m009+m008和m010+(1m008)的值,那么超级画板给这两个值的编号依次为m009和m010,也就是说,超级画板认为:m009m009+m008,m010m010+(1m008),这两个式子的意义是:如果m0081,就将m009的原来的值加上1,m010的值仍然不变,如果m0080,m009仍然不变,m010原来的值加上1,这相当于BASIC语言中的赋值语句:ii1,这就是超级画板独有的数据迭代功能,它可以解决超级画板中的记数问题。由于m0081时表示针和直线相交,m0080表示针和直线不相交,因而可以统计出不相交的次数。最后,将统计结果用文本的形式展示出来,而且随着试验次数的增加,这个文本所显示的统计结果也要不断地更新。在此课件中,m009和m010的值表示针和直线相交和不相交的次数。我们再计算表达式m009/(m009+m010)的值(这里的斜杠“/”表示除号,这也是超级画板的运算符号输入规则),设此值的编号是m011,显然m011代表相交的频率。再插入一个文本,我们输入的内容是:“相交的次数是$blm009,0,相交的频率是$blm011,4”,其中$blm011,4表示该文本此处引用变量m011的值,4表示引用此值时,精确到小数点后面4位。这样的文本可以实现随着试验次数的增加而不断更新试验结果。这也是超级画板的一个十分方便的功能。再制作一个初始化按钮,使m009和m010的初始值都是0,点击此按钮时,统计的相交和不相交的次数从零开始。稍加修饰,完成整个课件的制作。本课件的使用方法十分简单:先点击“初始化”按钮,再点击“开始投”按钮,试验结果会自动显示,再次点“开始投”按钮,试验会暂停。也可以在空白出双击鼠标暂停试验。以下几个课件的使用方法都如此,笔者不再介绍它们的用法。再看北师大版课标教材中九上第六章第一节介绍的抽牌试验(如图2),问题是这样的:有两组牌,每组两张,牌面上的数字只有1和2两种,从每组牌中各抽取一张,牌面数字为和为2,3,4的概率各为多少?图2如果用超级画板做模拟试验,基本思路和和投针试验基本相同,不同的是,如何让超级画板如何统计两张牌的牌面数字和分别为2,3,4的次数。以统计和为3的次数为例。首先计算两次表达式floor(rand(1,3)?)的值作为抽取的两张牌的牌面数字,并计算两个表达式的和,再在x轴上任意选一个点,制作该点的动画按钮,点击按钮即可达到随机抽牌的目的。下一步我们要让超级画板统计抽出的两张牌的牌面数字之和为3的次数,这就要用到超级画板中的符号函数sign。超级画板中规定的符号函数和高中教材中规定的符号函数有所不同,它是这样规定的:符号函数中的两个自变量中,如果前一个大,符号函数的值就是1,否则就是0。例如:sign(4,3)1,因为43;同样,sign(2,3)0,因为23;sign(4,4)0,因为4并不比4大。利用符号函数可以判断一个值是否在某一个区间内,例如:看数字a是否在2.5和3.5之间,我们可以计算sign(3.5,a)和sign(a,2.5)的乘积,如果乘积是1,说明两个值都是1,即3.5a并且a2.5,也就是说:a在2.5和3.5之间;如果这个值是0,说明a不在2.5和3.5之间。有了符号函数,我们可以很容易判断牌面数字的和是否为3,方法是:设计算两牌面数字的值编号是m004,再计算表达式sign(3.5,m004)*sign(m004,2.5)的值,如果此值是1,就表明牌面数字和在2.5到3.5之间,而牌面数字之和只能是整数,因而只能为3!如果此值是0,牌面数字之和就不是3。余下的工作就是利用超级画板自动统计牌面数字之和为3的次数,也就是上述表达式的值是1的次数即可,这和投针试验基本相同,不再赘述。再看模拟“生肖相同的概率”试验(如图3),问题是这样的:六个人中,至少有两个人生肖相同的概率是多少?图3首先计算六次表达式floor(rand(1,12)的值,其结果都是1到12之间的整数,1到12之间的整数每一个数字代表一个不同的生肖,计算出的六个值代表抽出的六个人的生肖,如何才能让超级画板判断这六个值是否有两个数字相同呢?只要将六个数字每两个都相减就得到15个差,再求这15个差的乘积,设这个乘积为t,若t0,则有两个数字相同,否则没有。但为了统计有两个数字相同的次数,我们应该将试验结果转化为0和1两个数字,所以再求sign(abs(t),0)的值,也就是将x的绝对值和0比较,如果两者相等,那么sign(abs(t),0)0,说明有两个数字相同;如果两者不相等,那么sign(abs(t),0)1,说明没有两个数字相同。余下的就是统计有两个数字相同的次数,其方法和投针试验相同。在这个模拟试验中,我在六个数字右边设置了一盏橘红色的灯,如果有两个数字中相同,灯就亮,否则就不亮,这是用超级画板的动态Alpha填充控制的。设置的具体方法见下文要介绍的投硬币试验(如图4)。我们再看看在投硬币试验中,我们是如何利用动态Alpha填充功能控制“正、反”两个字的显示和隐藏的!图4首先计算表达式floor(rand(0,2)的值,设这个表达式的值超级画板给出的编号是m000,其值只能是0和1,用0表示反面,1表示正面。再插入两个可变文本,一个为“正”字,另一个为“反”字。我们需要的效果是:m000=0时“反”字出现,“正”字隐藏,这表示投出的是反面,m000=1时“正”字出现,“反”字隐藏,表示投出的硬币为正面。这就需要利用超级画板的动态Alpha填充功能。具体方法是:将“正”字的动态Alpha填充值设置为255*m000,将“反”字的动态Alpha填充值设置为255*(1m000)。在超级画板中,一个对象的动态Alpha填充值在0到255之间,值越小,“可见程度”越小,值为0时,不可见,相当于隐藏了该对象。由于m001的值只能是1和0,所以,当“正”和“反”字的填充值一个为255时,另一个为0,一个字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论