内容正文:
用计算机计算圆周率
——《3.2.4 循环结构的程序实现》复习 教学设计
课程标准与教学目标
适应的课程标准:
1.7掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过解决实际问题,体验程序设计的基本流程。
所针对的教材内容:必修一(浙江教育出版社)第三章3.2.4 循环结构的程序实现
教室环境:有教学控制软件的网络机房,每台机器都安装Python程序设计软件及相应机器学习库
预计课时:1课时(本次现场上课为第1课时)
教学内容分析:
本节教学内容选自浙教版信息技术新教材必修1模块《数据与计算》第三章第二节,包括循环结构等控制结构的思想以及它们的程序实现,在复习for语句和while语句的基础上对它进行综合运用,共1课时。通过设定真实情境,培养学生利用python语言编程解决实际问题的能力。本节课是对循环结构的综合应用,以计算圆周率为主线,介绍两种计算圆周率的方法,学生在完成该项目的过程能够完整体验设计并体验利用计算机解决问题的一般过程。
本节课的教学内容为循环结构的综合应用,通过对圆周率的计算提高学生利用计算机解决问题的能力,发展学生的计算思维。利用随机投点法计算圆周率能够更好地进行抽象建模,利用欧拉公式对解决问题思维的拓展,通过学生感受不同算法,帮助学生更加熟练地应用循环结构来实现简单算法。
教学目标:
1. 在分析问题、抽象与建模,用计算机解决问题的过程中,掌握利用计算机解决问题的一般方法;
2.掌握圆周率的两种不同计算方法,并能用python编程实现;
3.掌握for语句与while语句实现算法
4.通过问题的分析与解决,帮助学生克服编程的畏难情绪,培养他们的计算思维。
教学重难点:
重点:掌握圆周率的两种不同计算方法,并能编程实现
难点:选择合适的循环语句,编程解决圆周率
所指向的核心素养:
信息意识:能够根据解决问题的需要,自觉、主动地获取与处理信息。
计算思维:(1)在信息活动中能够采用计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据。(2)通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。
学情分析
本节授课对象为高二年级的学生,在之前的学习中已经掌握循环结构,能够利用循环结构实现简单程序的编写。但是学生利用计算机编程来解决实际问题的意识仍然较为薄弱,需要引导学生将原有的数据计算方法、抽象建模思想方法和知识等迁移应用到当前问题解决中,进一步地通过本问题解决中、解决后的反思和评价,将新形成的思想方法等迁移应用到今后的新问题,加深对利用计算机编程解决问题的一般过程的认识,有助于学生更好地主动适应社会、创造未来。
评价设计
过程性评价:
· 对问题的理解情况。借助已有学习生活经验,对问题的解决提出不同的见解和解决措施。
· 对学生发言和回答问题情况作实时的口头评价,及时地进行激励性评价和矫正性评价。
· 在每个程序编写完成后,通过展示分享程序了解学生的掌握情况。
终结性评价:
· 通过在实际应用例子中应用本节所学知识解决问题能力的观察,实现对教学目标达成的评价,并延续到课后学生回归生活时将所学知识与实际问题建立联系的能力评价。
学习活动设计
教学环节
教学过程
设计意图
情境导入
播放视频,介绍祖冲之等数学家计算圆周率的发展历史,引出本节课的任务,并强调借助计算机,中学生也可以计算出圆周率。
从圆周率的计算里程视频入手,激发学生尝试计算圆周率的兴趣,带领学生一起进入教学活动环节
随
机
投
点
计
算
圆
周
率
分
析
问
题
教师活动:介绍蒙特卡洛算法(统计模拟法),随机投点法正是这种算法的一种体现。
模拟随机撒点的过程。在正方形内随机撒一把黄豆,落在扇形区域中的豆子数与正方形的面积近似成正比。S正=1, S扇,记扇形内的豆子数为count,正方形内的豆子数为n,= 。
提问:假设投了1000个豆子,有788个豆子落在扇形区域内,那么π是多少?
学生活动:思考并回答π的值。
结合一个真实案例让学生能够从生活实际开始思考,开拓思维,找到解决问题的大致方法,帮助学生形成完整的算法概念。
抽
象
建
模
教师活动:
① 确定总的豆子数n
② 在边长为1的正方形中投豆子,并判断这个豆子是否在扇形区域内,如果是,则扇形区域的豆子数count增加1。
思考:怎样判断这个豆子是否在扇形区域呢?
(每个投点的x坐标和y坐标都是[0,1)中的随机数)
若x2+y2<1,则判断该点投在扇形区域内。
学生活动:思考如何判断该点是否在扇形内,计算该点到原点的计算方式。
培养学生对随机撒点这个过程的抽象建模能力,提高思维能力,发展计算思维。
设
计
算
法
根据问题结合所设计的模型,设计利用随机投点计算圆周率的算法。
师生活动:用自然语言或流程图描述利用随机投点计算圆周率的算法。
① 产生[0,1)范围内的随机点,获取x,y的随机值
② 如果x2+y2<1,那么这个点在扇形内
③ 扇形内的点count=count+1
让学生在描述算法的时候能够自然而然地引出循环结构解决问题,提高计算思维
复
习
循
环
结
构
教师活动:循环结构复习
for 循环控制变量 in 序列:
语句块
while 条件:
语句块
学生活动:完成任务单的练习题。
复习循环结构,巩固知识
编
写
程
序
学生活动:编写并调试程序,交流展示不同学生的算法
思考:
①不断增大输入的豆子数,观察圆周率可以精确到第几位。
②多次输入同样的总数10000,得到的结果如何?这是为什么?如何减少这种不确定性?
完成算法的程序实现,学会编写程序。
欧
拉
公
式
计
算
圆
周
率
分
析
问
题
欧拉公式:,由此推导出π=
学生活动:思考如何计算括号内的和。
任务分解:
1 计算1+2+···+100
2 计算1+1/2+···+1/100
3 计算1+1/2^2+1/3^2……
引导学生思考,培养学生分解问题,独立思考的能力
抽
象
建
模
教师活动:欧拉公式算不出来圆周率,只能减少误差,提高精确度,逐渐逼近。
① 期望达到的精确度 limit
② 产生的误差值计算
真实圆周率-欧拉公式算出的圆周率
math.pi**2/6-s
培养学生的抽象建模能力,能够提取关键信息,理解误差概念,提高逻辑思维能力,发展计算思维。
设
计
算
法
师生活动:用自然语言或流程图描述利用欧拉公式计算圆周率的算法。
输入: 精确度limit
处理: ① 循环计算求出的误差值大于等于limit
s=s+ 1/(i*i)
i=i+1
② npi=√(𝟔∗𝒔)
输出: 圆周率 npi
培养学算法设计能力以及对流程图的理解能力
编
写
程
序
学生编写并调试程序,关注学生编程过程中的易错点,并进行点评。
对学生编写程序过程中的问题进行过程性评价
扩展提升
如果控制欧拉公式只能累加到n项,程序又该怎样来写呢?请分别使用while循环与for循环进行编程。
拓展学生思维,启发学生思考,提高学生的计算思维
课堂小结
圆周率π是一个无限不循环小数,无论是用随机投点计算还是数学公式计算,本质上都是对π精确的无限逼近。理解for循环与while循环的区别,根据不同的问题,选择合适的循环语句解决问题。
回顾整个课堂的学习内容,形成知识体系。
课后作业
你还知道哪些计算圆周率的方法?尝试编程解决。
莱布尼茨公式:
沃利斯公式:
开放思维,让学生体验真实情景中更复杂的问题,增强学生的信息意识。
对差异化教学的考虑
本节课为循环结构的复习课,如果学生在之前的课上没有打好基础,这节课上的差异性可能比较明显,甚至有部分学生可能因为听不懂,无法完成任务而放弃。那么,针对这部分学生,在他们编写程序的过程中进行个别指导,帮助他们建立起知识体系,解决问题;有些学生信息技术基础较好,计算思维较强,他们能够根据自身的知识架构较快的完成项目,甚至可以设计出优化的算法,可以让这部分学生多多交流分享经验,充分调动他们的积极性。
教学设计思路
本节课以“计算圆周率”为教学内容,圆周率与我们的生活息息相关,贴近现实生活,内容丰富,逻辑思维能力强。从圆周率出发,引出用计算机计算圆周率的两种方法,分别是随机投点法以及欧拉公式,两个不同方法能够培养学生的抽象思维能力以及逻辑思维能力,让学生在课堂学习中感受用计算机解决问题的一般过程,逐步引导学生建立结构模型,提升计算思维,解决实际问题。
学科网(北京)股份有限公司
$