龙空技术网

用Scratch3.0模拟求π的近似值(二) #寻找真知派#

刘_汉杰 108

前言:

目前我们对“c程序求π的近似值”大概比较关注,兄弟们都想要学习一些“c程序求π的近似值”的相关文章。那么小编在网络上搜集了一些对于“c程序求π的近似值””的相关知识,希望你们能喜欢,看官们一起来学习一下吧!

用Scratch3.0实现求圆周率π的近似值之蒙特卡洛法(二)

蒙特卡洛赌城建筑

有这样一道中学几何概型的数学题:随机写出两个小于1的正数x与y,它们与数1一起形成一个三元数组(x,y,1).这样的三元数组正好是一个钝角三角形的三边的概率是______.

这个三元组正好是钝角三角形的三个边,根据给定条件,而且只需较小的两边之和大于第三边1,就可以构成三角形,最大的内角应该是最大边1对应的那个,由余弦定理,须且只须

因此x,y应该满足以下条件:

对应的弓形区域如图中红色部分,其面积为四分之一圆面积减去一个等腰直角三角形面积:,而整个正方形的面积为1,于是这个三元组正好构成钝角三角形的三个边的概率P=

受此启发,我们可以让孩子们做一个实验:先确定一个固定长度(比如100mm)的线段,然后随机选取两个小于固定长度的线段,把所有能够构成钝角三角形的个数除以总个数(能够和不能够的总和)得到值p,将p乘以4再加上2,就是π的近似值。

那么,我们用scratch3.0,就可以用投点的实验来模拟这个过程,确定一个长度100,让变量x,y分别取0到100的随机数,如果x,y满足条件x+y>100与

则符合条件的变量计数增加1,并以特定颜色标记。投点完了,计算结果:

代码积木图和运行结果如下:

下次介绍投针实验“蒲丰实验求π的近似值”的方法,需要源码文件可关注私信,欢迎讨论、指点。

标签: #c程序求π的近似值 #求圆周率的c语言程序源代码 #c语言圆周率的近似值 #用c语言计算圆周率的近似值 #用c语言计算圆周率的近似值的方法