资源简介 (共20张PPT)设计算法实现用随机投点法计算圆周率π是一个在数学和物理学中常用的数学常量,它是圆的周长与直径的比值。古今中外,一代代数学家为探求圆周率的值贡献出了自己的智慧和辛劳。下面就让我们一起来领略圆周率的魅力吧!神奇的圆周率用随机投点法计算圆周率在正方形中随机撒一把豆子n表示落在扇形中豆子的数量m表示所有豆子的数量110只要数出落在扇形区域内豆子的数量就可以计算出的值了用投点法计算圆周率1.分析问题首先,确定总的投点数m,m=int(input())。然后,在边长为1的正方形中投点,并判断这个点是否落在扇形区域内,如果是,则变量n的值增加1。最后,在所有点投完后,计算圆周率的近似值用投点法计算圆周率2.突破难点思考1:正方形中每个投点的坐标有什么特点?落在扇形区域内的点的坐标又有什么特点?110每个投点的x坐标和y坐标都是[0,1)中的随机数random( )。根据正方形和内接扇形的几何关系,落在扇形区域中的点的xy用投点法计算圆周率2.突破难点思考2:在投点过程中有哪些事情是需要重复做的?投出每一个点 x,y∈[ 0,1 ) ,random( )判断每个点是否落在扇形区域对于重复做的这两件事情,我们可以通过循环来实现。用投点法计算圆周率2.突破难点思考3:如何控制循环次数?把所有的点投完,循环就可以结束了。所以所有的点数m就是循环需要执行的次数。3.设计算法是i获取坐标x,y的随机值是否i=i+1计算圆周率近似值pin=n+1用投点法计算圆周率4.编写代码 调试运行from random import randomm=int(input(“请输入总的投点数:”))n=0for i in range(m):x=random()y=random()if ________________:____________pi= _____________print(“pi的值是”,pi)x*x+y*y<1n=n+14*n/m两种计算圆周率算法的对比上次课我们学习了用欧拉公式计算圆周率,现在我们对这两种算法进行对比,我们在两个程序中加入了计时函数,就可以计算出每种算法计算圆周率时间。两种计算圆周率算法的对比两种计算圆周率算法的对比请同学们打开学案完成学习任务三,运行两个程序,并记录程序运行结果,完成两种算法的对比。两种计算圆周率算法的对比欧拉公式计算圆周率结果记录表limit Pi的值 准确的小数位数 运行时间(秒)0.0000001 3.14129068 3 0.0029230.00000000001 3.14158963 4 0.1148426随机投点法计算圆周率结果记录表投点数 Pi的值 准确的小数位数 运行时间(秒)500000 3.140976 2 0.204585000000 3.142104 2 2.08951两种计算圆周率算法的对比两种算法的对比欧拉公式法 随机投点法计算结果精确度 较高 较低 较高 较低程序运行时间 较长 较短 较长 较短对算法的理解 易理解 不易理解 易理解 不易理解√√√√√√课堂小结1.同学们完整体验了用计算机程序解决计算圆周率问题的过程。2.深入探究实践了程序的循环结构和选择结构的构建。3.求解问题的方法并不唯一,在设计算法时要综合考虑时间效率和运算结果的精准度。再 见 展开更多...... 收起↑ 资源预览