ID: 16191053

项目七第二课时用随机投点法计算圆周率 课件(共16张PPT) 2022—2023学年沪教版(2019)高中信息技术必修一

日期:2024-11-25 科目:信息技术 类型:高中课件 查看:65次 大小:2808903B 来源:二一课件通
预览图 1/7
项目,必修,信息技术,高中,2019,教版
  • cover
(课件网) 试讲人:xxx 时间:xxxx.xx.xx 随机投点法计算圆周率 复习回顾 有哪些方法来计算圆周率? 沃利斯公式 欧拉公式 精确到小数点后18位 精确到小数点后16位 课程导入 今天日期在圆周率中排第几位? 20061012 你的生日"20061012"出现在π的第82,688,636位 20060412 你的生日"20060412"出现在π的第123,120,089位 20230608 今天日期"20230608"出现在π的第54,541,190位 设计算法实现用随机投点法计算 什么是随机投点法? 随机投点计算圆周率模拟器 随机投点法是通过在正方形内随机投点,用随机模拟的方法来估算圆周率。 请尝试用Python语言,来计算圆周率。 设计算法实现用随机投点法计算 分析问题(数学思维) 设落在圆形内的豆子数为hits,总豆子数为darts,则: 分析问题 设计算法 编写程序 调试运行 蒙特卡罗法 二十世纪四十年代中期 如何求π: 随便投一个豆子,这个记为(X,Y)落在圆内,则到圆心的距离为x2+y2<1 分析问题 设计算法 编写程序 调试运行 蒙特卡罗法 二十世纪四十年代中期 (x,y) 如何求点数: 如何判断点所在区域: hits+ 1 2 使用计算器模拟随机投豆的整个过程 分析问题 设计算法 编写程序 调试运行 总数darts 投中hits+1 首先,确定总的投点数darts。 1 其次,在边长为1的正方形中投点,并判断这个点是否在扇形区域内,如果是,则扇形区域的投点数hits增加1。(每个投点的x坐标和y坐标都是[0,1)中的随机数;若x2+y2<1,则判断该点投在扇形区域内。) 2 最后,在所有点投完后,计算圆周率的近似值pi。 3 1.输入总的投点数darts 2.令hits=0 3.循环i从0到darts,step1 3.1 获取x,y的随机值 3.2 如果x2+y2<1,则hits增加1 4.计算圆周率的近似值 5.输出圆周率的近似值 自然语言描述 算法哪几步在重复执行? for循环语句的一般格式: for<循环变量> in <序列>: <循环体> while循环语句的一般格式: while <条件表达式> <循环体> 循环结构 分析问题 设计算法 编写程序 调试运行 单分支一般格式: if…… 双分支一般格式: if……else 选择结构 多分支一般格式:if……elif……else 1.输入总的投点数darts 2.令hits=0 3.循环i从0到dars-1,step1 3.1 获取x,y的随机值 3.2 如果x2+y2<1,则hits增加1 4.计算圆周率的近似值 5.输出圆周率的近似值 功能:生成随机浮点数、整数、字符串 1.random.random()用于生成一个0到1的随机浮点小数:0<=n<1.0 2.random.randint(a,b)用于产生一个指定范围内的整数,生成随机数:a<=n<=b random模块 算法 分析问题 设计算法 编写程序 调试运行 分析问题 设计算法 编写程序 调试运行 填一填: 流程图 i<=darts 获取x,y的随机值 hits=hits+1 i=i+1 1.输入总的投点数darts 2.令hits=0 3.循环i从0到dars-1,step1 3.1 获取x,y的随机值 3.2 如果x2+y2<1,则hits增加1 4.计算圆周率的近似值 5.输出圆周率的近似值 自然语言描述 根据自然语言描述,补全流程图 分析问题 设计算法 编写程序 调试运行 from random import random darts=int(input(“请输入总的投点数:”)) hits=0 for i in range(darts): x,y=random(),random() if_ _____ ____ ___ pi=4*(hits/darts) print(“pi的值是”,pi) hits=hits+1 x*x+y*y<1 填一填: 流程图 代码 i<=darts 获取x,y的随机值 hits=hits+1 i=i+1 在 Python 中创建并运行程序,检查运行结果。可以发现,当总投点数为1000时,pi值的精确度还是很低的。通过增加总投点数,可以提高pi值的精确度。 分析问题 设计算法 编写程序 调试运行 1000 5000 10000 A组 B组 C组 分成6个小组分别输入1000、5000、10000,完成下面表格,得到圆周率的近似值分别可以精确到第几位? 任务二 多次输入同样的总投点数10 ... ...

~~ 您好,已阅读到文档的结尾了 ~~