资源简介 《用计算机计算圆周率》学案一、学习目标学会while及for循环之间的转换;掌握圆周率的两种不同计算方法,并能用Python编程实现;比较两种算法的运行效率及精确度,知道如何分辨算法的性能。二、重点难点教学重难点:掌握圆周率的两种不同计算方法,并能用Python编程实现。三、学习方法及模式自主探究、协作学习、合作交流等;学习内容预备知识:选择结构流程图:循环结构流程图:活动一:使用沃利斯公式计算圆周率:小组合作填写流程图:说明:先设置变量item统计一共计算到第几项,x表示每一项的分子,y代表每一项的分母,s代表二分之一π。仔细分析,我们可以发现,当项数为奇数项时,分子x按2递增,而项数为偶数项时,分母y按2递增。请同学们完成如下流程图:参考流程图,完善如下程序,并复制到Python中运行调试:活动二:对比两种计算圆周率算法的效率。用数学公式计算:用随机投点计算:将上面两种不通算法实现的程序复制到Python中运行,填写下表:改写数学公式法程序,输入精确度要求,并输出运行时间。多次运行程序,改变limit的值,得到不同的圆周率近似值,记录每次的运行结果。limitpi的值准确的小数位数运行时间(秒)0.00013.132076531809105310.0084848396442982510.00001改写随机投点法程序,输出运行时间。多次运行程序,改变总投点数,得到不同的圆周率近似值,记录每次的运行结果。itempi的值准确的小数位数运行时间(秒)10003.19610.093600610000对比两种算法计算圆周率的运行情况,填写下表。算法比较项目数学公式法随机投点法计算结果的精确度□较高□较低□较高□较低程序运行时间□较长□较短□较长□较短对算法的理解□容易理解□不易理解□容易理解□不易理解课堂总结:圆周率π是一个无限不循环小数,无论是用数学公式计算,还是用随机投点法计算,本质上都是对π的精确值的无限逼近。选择合适的计算方法,并设计出高效的算法,正是用计算机解决类似问题的一般思路。课后探究活动:编程实现Leibniz定理计算圆周率:(共24张PPT)导入:—比较不同算法的实现及效率用计算机计算圆周率项目学习目标在本项目中,我们将对用计算机计算圆周率一探究竟,利用Python语言编程实现两种计算圆周率的算法,进而掌握利用程序控制结构编程的方法,并感受不同算法的运行效率。知识复习:问题:1.顺序结构编程的特点是?2.选择结构的流程图有哪几种?3.循环结构的流程图?新课学习一项目活动一新课学习二项目活动二复习引入总结提升知识复习:2.选择结构的流程图有哪几种?新课学习一项目活动一新课学习二项目活动二复习引入总结提升条件语句块真假条件语句块语句块真假知识复习:3.循环结构的流程图有哪几种?新课学习一项目活动一新课学习二项目活动二复习引入总结提升1.设计算法实现:用数学公式计算1735年,数学家欧拉得到了如下计算公式:如何编程求出圆周率?新课学习一项目活动一新课学习二项目活动二复习引入总结提升算法分析赋初值:item=1结束条件:怎么写?计算:s+=1/(item2)改变循环控制的值:item+=1思考结束条件:1.我们是计算到1000000项结束?2.还是让累加项的值小于0.000001来结束?item<=10000001/(item2)>=0.000001新课学习一项目活动一新课学习二项目活动二复习引入总结提升Python语言实现赋初值:item=1结束条件:1/(item2)>=0.000001计算:s+=1/(item2)改变循环控制的值:item+=1思考及改写程序:1.输出项值<0.000001时item的值。2.如何实现计算到1000000项结束?3.请用for语句改写程序,实现同样的功能。新课学习一项目活动一新课学习二项目活动二复习引入总结提升项目活动一:小组合作探究使用沃利斯公式计算圆周率:如何编程求出圆周率?项目活动一新课学习二项目活动二复习引入总结提升新课学习一流程图填空否?条件:item%2==1?条件:?初始化:item=1x=0y=1s=1??改变分子的值:x+=2?改变分母的值:?是??计算圆周率:s=x/y否?项数增加:item+=1?输出圆周率:print(2s)是?item<=1000000y+=2项目活动一新课学习二项目活动二复习引入总结提升新课学习一参考程序赋初值:item=1结束条件:item<=1000000计算改变循环控制的值:item+=1项目活动一新课学习二项目活动二复习引入总结提升新课学习一2.设计算法实现:用随机投点法计算随机投点法是通过在正方形内随机投点,用随机模拟的方法来估算圆周率。如何编程求出圆周率?π/4=s落在扇形内的点的个数/s落在矩形内的点的个数新课学习二项目活动二复习引入总结提升新课学习一项目活动一算法分析思考与讨论:1.分别输入1000、5000、10000,得到圆周率的近似值分别可以精确到第几位?2.多次输入同样的总投点数1000,会得到不同的结果,这是为什么?如何减少这种不确定性?新课学习二项目活动二复习引入总结提升新课学习一项目活动一项目活动二:小组合作探究1.用数学公式计算对比两种计算圆周率算法的效率。2.用随机投点法计算新课学习二项目活动二复习引入总结提升新课学习一项目活动一算法分析用数学公式计算用随机投点法计算运行两种方法计算圆周率运行效率,完成学案上的活动二中的表格。新课学习二项目活动二复习引入总结提升新课学习一项目活动一算法分析用数学公式计算limitpi的值准确的小数位数运行时间(秒)0.00013.132076531809105310.0084848396442982510.00001新课学习二项目活动二复习引入总结提升新课学习一项目活动一算法分析用随机投点法计算itempi的值准确的小数位数运行时间(秒)10003.19610.093600610000新课学习二项目活动二复习引入总结提升新课学习一项目活动一两种算法比较算法比较项目数学公式法随机投点法计算结果的精确度□较高□较低□较高□较低程序运行时间□较长□较短□较长□较短对算法的理解□容易理解□不易理解□容易理解□不易理解新课学习二项目活动二复习引入总结提升新课学习一项目活动一课堂总结圆周率π是一个无限不循环小数,无论是用数学公式计算,还是用随机投点法计算,本质上都是对π的精确值的无限逼近。选择合适的计算方法,并设计出高效的算法,正是用计算机解决类似问题的一般思路。新课学习一项目活动一新课学习二项目活动二复习引入总结提升思维导图新课学习一项目活动一新课学习二项目活动二复习引入总结提升课后拓展活动使用Leibniz定理计算圆周率:参考程序赋初值:item=1结束条件:item<=1000000计算:s+=f/itemf=-f改变循环控制的值:item+=2课后拓展活动THANKS用计算机计算圆周率——比较不同算法的实现及效率一、案例背景信息1、模块:高中信息技术。2、年级:高一年级。3、所用教材版本:新课程教材。4、学时数:1课时,40分钟,其中上机时间:20分钟,非上机操作时间:20分钟。二、教学设计(一)内容分析1、本节的作用和地位:本节内容是信息技术必修第三单元《算法和程序设计》中的项目七:用计算机计算圆周率。本节的内容主要是让学生在复习顺序、选择结构的程序设计基础上,学会利用循环实现圆周率的计算,并让学生体会不同算法的程序的计算速度及算法的效率。2、本节主要内容:圆周率的两种不同算法实现及效率比较。(二)学生分析知识基础:学生在前面单元的学习中已经掌握了Python的顺序结构、选择结构及循环结构的语法。能力基础:学生能用Python三种结构编写简单的程序。心理基础:学生对计算机编程有着良好的兴趣。(三)教学目标(1)学会while及for循环之间的转换;(2)掌握圆周率的两种不同计算方法,并能用Python编程实现;(3)比较两种算法的运行效率及精确度,知道如何分辨算法的性能。(四)教学重点、难点:教学重点:掌握圆周率的两种不同计算方法,并能用Python编程实现;教学难点:掌握圆周率的两种不同计算方法,并能用Python编程实现;(五)教学策略设计教学方法设计教法:问题导学法、活动驱动法学法:自主探究法、协作探究法教学流程和教学活动的设计思路情境设置从圆周率的计算历程视频入手,激发学生尝试计算圆周率的兴趣,带领学生一起进入教学活动环节,让学生亲自体验圆周率的不同计算方法。项目活动一:使用沃利斯公式计算圆周率小组协作,通过参考案例,修改程序完成使用沃利斯公式计算圆周率。项目活动二:对比两种计算圆周率算法的效率。运行两种算法程序,填写三个表格,完成算法效率的分析。课后探究活动:其他算法实现圆周率在课堂的基础上,继续探究实现圆周率的算法,真正掌握利用计算机解决学习生活中的问题,加强对本节课知识的应用拓展。教学资源:对学生基本技术要求:计算机的基本操作、能使用记事本、Word等。硬件:局域网(可连接到因特网)。软件:Windows操作系统 Word或记事本、网络多媒体教室。资源:课件、程序、视频等。三、教学过程教学环节及时间安排教师活动学生活动对学生学习过程的观察和考查及设计意图情境导入3’教师播放视频:数学家是如何计算π的?观看视频,形成概念通过对π的发展史,了解π的多种计算方法。知识复习3’复习引入问题:顺序结构编程的特点是?2.选择结构的流程图有哪几种?3.循环结构的流程图?回答问题温故知新复习Python的三种基础语法,为新授课做准备。算法1引入2’教师展示新课一的学习内容:设计算法,用数学公式计算π观看试题开始思考试题引入帮助学生形成初步的算法概念。算法分析与程序实现4’引导学生分析流程图,并写出程序回答问题一起完成程序组织课堂活动,引导学生自主学习,学会总结。课堂活动18’项目活动一小组合作探究使用沃利斯公式计算圆周率:教师进行巡视观察学生的学习活动,并对有疑问的学生的问题进行单独解答。小组合作探究完成学案活动1的流程图与程序填空并运行调试自主体验完成算法的程序实现。学会自己编写程序。算法2引入2’教师展示新课二的学习内容:用随机投点法计算随机投点法是通过在正方形内随机投点,用随机模拟的方法来估算圆周率。观看试题开始思考试题引入帮助学生形成完整的算法概念。算法分析与程序实现6’引导学生分析流程图,并程序填空思考与讨论:1.分别输入1000、5000、10000,得到圆周率的近似值分别可以精确到第几位?2.多次输入同样的总投点数1000,会得到不同的结果,这是为什么?如何减少这种不确定性?回答问题一起完成程序组织课堂活动,引导学生自主学习,学会总结。课堂活'动28’项目活动二对比两种计算圆周率算法的效率。用数学公式计算:用随机投点法计算:两种算法比较:教师进行巡视观察学生的学习活动,并对有疑问的学生的问题进行单独解答。协作学习,合作探究完成三个表格比较算法效率,了解算法运行的时间成本及算法的精确度。课堂回答及小结3’课堂小结:1.圆周率π是一个无限不循环小数,无论是用数学公式计算,还是用随机投点法计算,本质上都是对π的精确值的无限逼近。选择合适的计算方法,并设计出高效的算法,正是用计算机解决类似问题的一般思路。2.思维导图学生回答并总结从数据分析中得出算法效率。并回顾整个课堂的学习内容,形成知识体系。课后拓展1’使用Leibniz定理计算圆周率:认真思考,课后实现。前后呼应,与视频中提到的算法相呼应。让学生学会利用编程解决学习生活中的问题。教学反思本节课的难点在于如何利用循环结构实现圆周率的计算,为了减轻难度,在活动一之前设置了一个例题,让学生在完成活动一时可以参考例题程序进行修改,以让大部分学生能达到良好的成功体验效果。同时通过运行两个不同算法实现的圆周率的程序,让学生深刻体验到算法效率带来的差异性,这种差异所带来的效率不同可以引导学生应用到学习生活中去,追求高效的解决问题的意识素养。本节课的内容内容较多,要让学生达成良好的体验效果,教师需随时关注学生的学习过程,及时给予帮助,引导学生在体验中提升总结,才能达到最佳的效果。1项目七练习题:用计算机计算圆周率【判断题】:正确则标记“√”,错误则标记“×”。python的程序基本结构有三种:顺序、选择、循环。()以下代码执行后,输出结果是55。()循环结构不允许出现死循环。()【程序编写】编程实现输出1,2,3,……100。参考程序1:参考程序2:2.利用for循环求1~100之间所有数的和。参考程序:3.求50!参考程序:4.利用for循环求1~1000之间所有奇数的和。参考程序:5.使用Leibniz定理计算圆周率:参考程序:6.求出10~1000之间的回文数。参考程序1:参考程序2:7.求出100~1000之间所有的水仙花数。参考程序:算法1.爷s=12.爷i=13.循环当i小于等于50;3.1s=Sxi3.2i=1+11s=12foriinrange(1,51):3s=14print(s)1s=82foriinrange(1,1001):311%2==1:4s+=15print(s)1s=02千=13item=14whileitem<=1000000567s+=f/itemf=-千item+=28print(4s)1foriinrange(10,1001):s=str(i)2345s=s::ifi==int(s):print(i)1foriinrange(10,1001)s2345678t=ewhileset=t米18+s%18s=s//161千t==i:print(i)1foriinrange(10,1001):23456789t=8whileseX=s‰18t+=xxxs=s//181千t==i:print(i1s=92foriinrange(1,10):34sprint(s)开始否i≤50是s=S×1,1=1+输出s结束1s=82foriinrange(1,101):3s+=14print(s)算法1.爷S=123S=Sx1s=s×251.s=s×59 展开更多...... 收起↑ 资源列表 1.教学设计:用计算机计算圆周率——比较不同算法的实现及效率.docx 2.导学案:用计算机计算圆周率.docx 3.课件:用计算机计算圆周率24.pptx 5.练习题.docx 6.微课:随机投点法.mp4 导入视频.mp4