您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 朕培创客-高中-Scratch-课件:11-随机数
1homebackfirstprevnextlast本节目标•随机数及其应用•蒙特卡罗法应用2homebackfirstprevnextlast随机数•随机数是专门的随机试验的结果,其重要的特性是:它所产生的后面的那个数与前面的那个数毫无关系–例如,掷硬币,用0和1代表反、正面,可得到一个由0、1组成的随机数列•产生随机数有多种不同的方法,这些方法被称为随机数发生器–真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等。这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高3homebackfirstprevnextlast伪随机数•在实际应用中往往使用伪随机数就足够了。这些数列是“似乎”随机的数,实际上它们是通过一个固定的、可以重复的计算方法产生的。计算机或计算器产生的随机数有很长的周期性。它们不真正地随机,因为它们实际上是可以计算出来的,但是它们具有类似于随机数的统计特征。这样的发生器叫做伪随机数发生器。4homebackfirstprevnextlast随机数在编程中的应用•随机数在编程中的应用非常广泛,例如–游戏中,角色出现的位置和移动的方式–科学计算和实验模拟,等等5homebackfirstprevnextlast猜数字游戏2-1•随机生成一个数字,由玩家来猜。如果猜错,提示猜大了或猜小了。如果猜对了,记录猜测的次数,游戏结束。6homebackfirstprevnextlast猜数字游戏2-27homebackfirstprevnextlast求解圆周率4-1•蒙特卡罗(MonteCarlo)算法计算圆周率的主要思想:–给定边长为R的正方形,画其内切圆,然后在正方形内随机打点,设点落在圆内的概为P,则根据概率学原理:P=圆面积/正方形面积=PI*R*R/2R*2R=PI/4。即PI=4P。这样,当随机打点足够多时,统计出来的概率就非常接近于PI的四分之一了8homebackfirstprevnextlast求解圆周率4-29homebackfirstprevnextlast求解圆周率4-3•由于Scratch本身的原因,上面程序运行需要一段比较长的时间,而且圆周率计算的精度较低,大概为3.1左右。将来采取更专业的编程语言如C语言、Java语言或C#,会计算的更快更准。10homebackfirstprevnextlast求解圆周率4-4•为了说明蒙特卡罗法计算圆周率的原理,下面在上面的计算代码中加入了动画演示。•在边长为100的正方形内,随机生成一个点的坐标(x,y),如果点到原点(0,0)的距离不大于100,说明,这个点在以原点(0,0)为圆心,半径为100的四分之一圆内。下面程序中将角色1修改为只有一个像素的红点,利用图章功能在点(x,y)画一个红点。11homebackfirstprevnextlast练习2-1•编程求解如右图所示不规则形状红色区域的近似面积•提示–将图片作为角色导入Scratch–绘制一边长已知的正方形包含红色图形区域–随机生成正方形内的点,统计与红色区域碰撞的点数–计算正方形面积,点与红色区域碰撞的概率,以此求得红色图形区域面积12homebackfirstprevnextlast练习2-213homebackfirstprevnextlast总结•随机数及其应用•蒙特卡罗法应用
本文标题:朕培创客-高中-Scratch-课件:11-随机数
链接地址:https://www.777doc.com/doc-1824361 .html