《设计算法实现用随机投点法计算》课件(共20张PPT)高中信息技术沪科版(2019)必修1

资源下载
  1. 二一教育资源

《设计算法实现用随机投点法计算》课件(共20张PPT)高中信息技术沪科版(2019)必修1

资源简介

(共20张PPT)
设计算法实现用随机投点法计算
圆周率π是一个在数学和物理学中常用的数学常量,它是圆的周长与直径的比值。古今中外,一代代数学家为探求圆周率的值贡献出了自己的智慧和辛劳。
下面就让我们一起来领略圆周率的魅力吧!
神奇的圆周率
用随机投点法计算圆周率
在正方形中随机撒一把豆子
n表示落在扇形中豆子的数量
m表示所有豆子的数量
1
1
0
只要数出落在扇形区域内豆子
的数量就可以计算出的值了
用投点法计算圆周率
1.分析问题
首先,确定总的投点数m,m=int(input())。
然后,在边长为1的正方形中投点,并判断
这个点是否落在扇形区域内,如果是,则变量n
的值增加1。
最后,在所有点投完后,计算圆周率的
近似值
用投点法计算圆周率
2.突破难点
思考1:正方形中每个投点的坐标有什么特点?
落在扇形区域内的点的坐标又有什么特点?
1
1
0
每个投点的x坐标和y坐标
都是[0,1)中的随机数random( )。
根据正方形和内接扇形的
几何关系,落在扇形区域中的
点的
x
y
用投点法计算圆周率
2.突破难点
思考2:在投点过程中有哪些事情是需要重复做的?
投出每一个点 x,y∈[ 0,1 ) ,random( )
判断每个点是否落在扇形区域
对于重复做的这两件事情,我们可以通过循环来实现。
用投点法计算圆周率
2.突破难点
思考3:如何控制循环次数?
把所有的点投完,循环就可以结束了。
所以所有的点数m就是循环需要执行的次数。
3.设计算法

i获取坐标x,y的随机值


i=i+1
计算圆周率近似值pi
n=n+1
用投点法计算圆周率
4.编写代码 调试运行
from random import random
m=int(input(“请输入总的投点数:”))
n=0
for i in range(m):
x=random()
y=random()
if ________________:
____________
pi= _____________
print(“pi的值是”,pi)
x*x+y*y<1
n=n+1
4*n/m
两种计算圆周率算法的对比
上次课我们学习了用欧拉公式计算圆周率,现在我们对这两种算法进行对比,我们在两个程序中加入了计时函数,就可以计算出每种算法计算圆周率时间。
两种计算圆周率算法的对比
两种计算圆周率算法的对比
请同学们打开学案完成学习任务三,运行两个程序,并记录程序运行结果,完成两种算法的对比。
两种计算圆周率算法的对比
欧拉公式计算圆周率结果记录表
limit Pi的值 准确的小数位数 运行时间(秒)
0.0000001 3.14129068 3 0.002923
0.00000000001 3.14158963 4 0.1148426
随机投点法计算圆周率结果记录表
投点数 Pi的值 准确的小数位数 运行时间(秒)
500000 3.140976 2 0.20458
5000000 3.142104 2 2.08951
两种计算圆周率算法的对比
两种算法的对比
欧拉公式法 随机投点法
计算结果精确度 较高 较低 较高 较低
程序运行时间 较长 较短 较长 较短
对算法的理解 易理解 不易理解 易理解 不易理解






课堂小结
1.同学们完整体验了用计算机程序解决计算圆周率问题的过程。
2.深入探究实践了程序的循环结构和选择结构的构建。
3.求解问题的方法并不唯一,在设计算法时要综合考虑时间效率和运算结果的精准度。
再 见

展开更多......

收起↑

资源预览