用计算机计算圆周率-循环控制结构教案2024-2025学年高一上学期高中信息技术必修1项目七沪科版(2019)

2024-11-03
| 8页
| 923人阅读
| 3人下载
特供

内容正文:

《用计算机计算圆周率_循环控制结构的用法》 【教材分析】课程选自上海科技教育出版社 《信息技术》必修1 数据与计算 “项目七 用计算机计算圆周率” 。本节课的学习是建立在前面已经掌握了算法的相关概念,以及python程序设计语言的基本知识基础上,探究理解程序控制结构中循环控制的应用方法。通过剖析计算圆周率的真实项目实施过程,帮助学生了解学科思想方法,设计简单算法,掌握计算机解决问题的逻辑和过程,借助数字化工具的学习,提高利用信息技术解决问题的能力,养成数字化学习与创新的习惯。 【学情分析】学习对象是高二年级的学生,他们已具备一定的信息技术和python基础知识,逻辑思维能力较成熟,通过设计常用的数学问题,贴近学生的平常学习生活实际,整合多学科知识,发展学生跨学科思维能力,培养学生的核心素养。 【教学目标】1.进一步理解循环结构的基本概念和原理 2.通过对用计算机计算圆周率的探究学习,掌握python编程实现循环控制算法.(核心素养指向:信息意识和计算思维) 3.提高学生的编程实践能力和创新意识(核心素养指向:数字化学习与创新) 【重点难点】重点:循环结构的理解;计算圆周率的算法设计 难点:计算圆周率的算法设计 【教学方法】以项目驱动,自主学习,合作探究 【教学准备】多媒体课件、微课、计算机机房 【教学过程】 1、 情境导入 我们知道,圆周率π是一个在物理、工程、计算机、金融、自然科学等很多领域中要用到的数学常数,它等于圆的周长与直径的比值,或者是圆的面积与半径的平方之比。古今中外,一代代数学家为探求圆周率的值贡献了自己的智慧与辛劳。 接下来视频导入,介绍割圆术。 在计算机发明之后,人们开始借助计算机来计算圆周率,并设计了很多算法。 在本项目中,我们将对用计算机计算圆周率一探究竟,利用python编程语言的循环控制结构,实现两种计算圆周率的算法,并感受不同算法的效率。 二、自主学习、复习巩固循环结构的知识 循环结构是描述需要反复多次执行同一组操作的程序设计结构,要构建一个循环结构,需要解决两个问题:一是重复要做的是什么事,二是如何控制循环。 对于重复要做什么事,可以从分析具体问题入手解决。 实现循环结构,一般是通过设置一个循环变量来进行控制。它有三个要素:①循环控制变量的初始值;②循环控制变量的终值;③满足控制条件时,需要重复执行的指令(语句)。 活动一、求50! · 分析问题:50!=1,就是一个从1开始,重复累计相乘的问题。 则循环控制变量的初值设为1,终值设为50,重复做乘法。这个循环控制变量就相当于一个计数器的作用。 · 设计算法: 1. 1!=1 令 s=1; 2. 2!=1 s=s2; 3. 3!=1 s=s 50. 50!=1 s=s 算法的规律:s=s。就是每一次的结果,等于上一次的乘积乘以这个循环控制变量i,即从1变化到50的“计数器”。 在python语言中,用for语句来编写循环结构的格式为:开始 设置初始值,令s=1;i=1; 假如? 计算s=si 循环控制变量增加1:i=i+1 输出结果s 结束 for i in range(1,51): s=si range(1,51):表示产生一个从1到50的顺序序列,缺省步长为1,如果是range(51),则默认初始值从0开始。属于一个半闭半开区间。 · 画流程图: · 编写程序: s=1 for i in range(1,51) s=si print(’50!=’,s) 三、迁移探究 活动二、随机投点法计算圆周率 1.数学思维: 也叫“蒙特卡洛法”:随机在单位正方形里撒一把豆子,每一颗豆子落在正方形内任何一点的可能性都是相等的,如图,落在扇形里的豆子数与总豆子数之比近似成正比。设落在扇形内的豆子数为hits,正方形内的总豆子数为darts,则有: ≈ 根据数学知识,圆周率等于圆的面积与半径平方之比: π=,又观察图中,可知:=4,=, 所以,π= 4≈4 2.分析问题,设计算法: 确定总投点数darts,即输入一个数值给darts,同时设置扇形区域内的点数hits初值=0; 在单位正方形内开始随机投点,并判断该点是否在扇形内,如果是,则扇形区域的投点数hits增加1. 判断条件是:所投之点的x坐标与y坐标都在[0,1)范围内,即0x,y1,所以+<1. 算法描述为:循环i从1到darts: 赋予x,y均为[0,1)之间的随机数; 假如+1: 则hits增加1; 循环结束 (1) 所有点投完后,即可求出π=4 (2) 输出π的值。 3.根据算法,画出流程图 4.编写程序,调试结果 # 随机投点法计算圆周率 from random import random darts=int(input(“请输入总的投点数:”)) hits = 0 # 落在圆内的计数器初值设为 0 for i in range(1,darts): x, y = random(), random() # 生成两个随机数模拟一个点的坐标 if x*x+y*y<1: # 如果距离小于等于1,点在圆内 hits = hits + 1 pi = 4 * (hits /darts) print(“圆周率的近似值为:”,pi) 5.思考问题 (1)多次运行程序,改变投点总数,记录运行结果。 (2)多次输入同一个总数,得到的结果是否相同?为什么?开始 输入总的投点数darts 赋予hits=0;i=1 当idarts? 赋予x,y的随机值 假如+1 ? hits增加1(hits=hits+1) 计数器加1,即再投下一个点(i=i+1) 计算圆周率的近似值(pi=4) 输出圆周率的近似值(print(pi)) 结束 否 是 四、迭代实践 活动三:用割圆术计算圆周率 1.数学思维: 假设半径r=OA=1,则初始内接正六边形的边长AB=r=1; 第一次分割:从圆心O作AB的中垂线OD,交AB于点C,交圆弧于点D,AD即为正12边形的边长。 按照勾股定理,AD=,而AC=,即上一次分割的边 长的一半;CD=1-OC,OC是上一次分割时相邻两顶点与圆心构成的三角形的高,利用勾股定理,可知,OC=,则可以求出分割后 新的正多边形边长。 以此类推,逐次分割圆弧,直至边长无限接近圆弧。(对应第四步,并且不断重复) 最后,正N边形的周长=边数N*边长≈圆的周长,圆周率π=圆的周长/直径≈正N边形周长/2。 2.设计算法: (1)输入需要分割的次数 (2)设置边长的初值为1; (3)设置边数的初值为6; (4)循环计算每次分割后的边长,直到分割次数已经达到: (4.1)计算分割后,正多边形相邻两点与圆点构成的三角形的高 (4.2)根据高,利用勾股定理计算新的边长 (4.3)边数翻倍。 (5)用数学公式计算出圆周率的近似值。PI=(边长*边数)/2 (6)输出圆周率的近似值。 3.根据算法的描述,画出流程图。 (流程图给学生填空) 4.根据流程图,编写程序 import math times=int(input(“请输入需要分割的次数:”)) length = 1 # 初始边长 edges = 6 # 初始边数 for i in range(times): height = 1 - math.sqrt(1 - (length / 2) ** 2) length = math.sqrt(height ** 2 + (length / 2) ** 2) edges = edges * 2 # 每割一次,边数量加倍 pi = length * edges / 2 print(‘分割成’,edges,’边形时,’,‘圆周率的近似值为:’,pi) 开始 请输入要分割的次数(times) 初始化边长(length=1)和边数(edges=6) 循环控制i<=times? 计算新的正多边形的高height= 计算新的正多边形的边长length= 边数增加一倍edges=edges2 计算出圆周率的近似值PI= 输出圆周率的近似值PI 结束 否 是 割圆法求圆周率(刘徽算到了正3072边形) 思路:刘徽断言“割之弥细,所失弥少,割之又割,以至于不可割,则与圆合体,而无所失矣”。 5.思考: (1)程序中哪几行指令是重复执行的? (2)多次运行程序,分别输入不同的分割次数:2,10,20,24……观察得到的圆周率近似值的精确度。 (3)比较两种算法的运行情况,填写表格,进行算法对比。 算法 结果的精确度 对算法的理解 随机投点法 □较高 □较低 □容易理解 □不易理解 割圆术 □较高 □较低 □容易理解 □不易理解 五、拓展外延 (1) 除for语句外,如何用其他循环控制语句改写程序? (2) 还有哪些计算圆周率的方法?如何设计算法? (3) 如何实现割圆术和随机投点法中的可视化效果? (4) 输出程序运行时间(Time()函数的用法),比较不同算法的效率。 六、课堂小结和评价 评价内容 达成情况 对算法的理解 for语句用法的理解和应用 循环结构的算法构建 能自主使用python编写简单程序 学科网(北京)股份有限公司 $$

资源预览图

用计算机计算圆周率-循环控制结构教案2024-2025学年高一上学期高中信息技术必修1项目七沪科版(2019)
1
用计算机计算圆周率-循环控制结构教案2024-2025学年高一上学期高中信息技术必修1项目七沪科版(2019)
2
用计算机计算圆周率-循环控制结构教案2024-2025学年高一上学期高中信息技术必修1项目七沪科版(2019)
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。