高一信息技术用计算机计算圆周率-设计简单数值数据算法教学设计_第1页
高一信息技术用计算机计算圆周率-设计简单数值数据算法教学设计_第2页
高一信息技术用计算机计算圆周率-设计简单数值数据算法教学设计_第3页
高一信息技术用计算机计算圆周率-设计简单数值数据算法教学设计_第4页
高一信息技术用计算机计算圆周率-设计简单数值数据算法教学设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高一信息技术用计算机计算圆周率——设计简单数值数据算法教学设计一、教学设计依据本课选自沪科版(2019)高中信息技术必修1《数据与计算》第三单元"算法和程序设计"中的项目7"用计算机计算圆周率——设计简单数值数据算法",是该项目的第2课时。前一课时学生已经在问题情境中初步感知了圆周率可计算、可逼近的事实,本课时的任务是把"计算"落到"算法"与"程序"上,让学生完整经历"分析问题—设计算法—编写程序—调试运行—优化比较"的算法设计全过程。《普通高中信息技术课程标准(2017年版2020年修订)》在必修模块1中明确要求学生"掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法""通过解决实际问题,体验程序设计的基本流程,感受算法的效率"。本项目正是这一要求的直接载体:圆周率是一个学生既熟悉又陌生的对象,熟悉是因为初中数学中反复使用3.14,陌生是因为几乎没有学生真正"算过"它。以数值算法为切入点,能够让学生在真实的计算需求中理解循环结构、累加迭代、精度控制等核心概念,发展计算思维。二、教材内容分析本项目围绕"如何从勾股定理出发计算圆周率"展开,教材呈现了三条递进的思路:一是基于多边形周长逼近的割圆思想,二是基于公式展开的级数计算方法,三是基于随机投点的蒙特卡罗方法。本课时聚焦前两类方法中的迭代型数值算法,重点解决三个问题:如何用数学语言描述逼近过程,如何把递推关系转化为程序中的循环结构,如何用终止条件控制计算精度。从单元结构看,本课是"认识算法"之后的第一次综合性算法设计实践,向上衔接项目5、6中的算法描述与三种基本结构,向下为后续枚举法、解析法等算法思想的学习奠定数值计算的基本经验。从学科育人的角度看,圆周率的计算史上集中了刘徽、祖冲之等中国古代数学家的杰出贡献,祖冲之将圆周率精确到小数点后第七位的纪录保持了近千年,这为课堂提供了自然的文化自信与人文教育素材。三、学情分析授课对象为高一年级学生。从知识储备看,学生已经学习了Python基本语法、变量、赋值语句和for循环、while循环的基本写法,能够编写五十行以内的顺序与循环程序;数学上具备圆的周长与面积公式、级数求和的初步概念、不等式与误差的基本认识。从能力特征看,高一学生处在从具体运算向形式运算过渡的巩固期,能够进行多步逻辑推理,但在"把连续的数学思想离散化为程序步骤"这一环节普遍存在困难。具体表现有三:其一,知道递推公式却写不清循环体中变量的更新次序;其二,对程序中变量的初值设置缺乏自觉意识,常出现漏赋初值或初值错误;其三,对"精度"与"循环次数"的关系缺乏定量感受,容易把循环次数当作随意设定的参数。从教学习惯看,该班学生经过前两个单元的训练,已形成两人结对编程的基本默契,小组讨论纪律较好,部分学生有明显的超前学习倾向,可作为课堂上的"算法讲解员"资源加以利用。四、教学目标1.信息意识:从"圆周率是一个可以不断逼近的数"这一事实出发,感知数值计算方法在科学与工程中的普遍价值,形成用程序解决数学问题的主动意愿。2.计算思维:理解刘徽割圆术的迭代逼近思想,能说出多边形边数、周长与圆周率之间的递推关系;能将数学递推公式改写为程序中的累加或迭代循环,正确设置初值、循环体与终止条件;能比较不同算法的收敛速度,初步建立"精度—代价"权衡的观念。3.数字化学习与创新:能在Python环境中独立或协作完成割圆法与级数法的程序实现,会通过打印中间结果、改变精度参数等方式调试与验证程序;鼓励学有余力的学生尝试time模块计时,比较算法效率。4.信息社会责任:通过了解刘徽、祖冲之的成就,增强对中华优秀科技文化的认同;在小组协作中养成倾听、分工、如实报告结果的习惯,培养严谨的实证态度,认识到程序输出结果的可靠性必须由算法正确性来保证。五、教学重点与难点教学重点:割圆术迭代算法与级数法求和算法的程序实现,循环结构中初值、迭代更新与终止条件的设计。教学难点:递推关系中变量更新次序的理解,精度控制条件的设计,两类算法收敛速度的直观比较与原因分析。六、教学准备1.硬件与环境:机房一人一机,安装Python3.x解释器及Thonny或IDLE编辑环境;教师机安装广播教学软件;每台学生机预置三个半成品代码文件,分别为割圆法框架、级数法框架、计时比较模板。2.学习资源:自制微视频《从3.14到3.1415926——圆周率的千年求索》约90秒;学习任务单每人一份,含递推推导引导、代码填空区、实验记录表;拓展任务卡供学有余力者使用。3.前测评设计:课前通过问卷星发布三道小题,检测赋值语句、循环结构和初值意识的掌握情况,根据结果确定课堂分组的异质搭配方案。七、教学过程环节一:情境导入——你会"算"圆周率吗(约6分钟)播放微视频:阿基米德用内外接正多边形夹击圆周,刘徽"割之弥细,所失弥少",祖冲之算得3.1415926与3.1415927之间,现代计算机已算出数十万亿位。画面定格在一个问题:他们算得越来越准,靠的不是更长的尺子,而是更好的算法。教师提问:尺子量不出3.1415926,那圆周率到底是"量"出来的还是"算"出来的?如果给你一台计算机,你打算怎么算?学生自由发言,教师板书关键词:逼近、重复、越来越准、算很多遍。教师顺势提炼:把"反复做一件小事,让结果越来越好"的思想交给计算机去做,这就是数值计算算法。今天我们的任务,就是把刘徽的思路变成Python程序。设计意图:用数学史故事建立情感连接,用"量还是算"的认知冲突激活问题意识,为算法思想的引出做好铺垫。故事控制在90秒以内,避免喧宾夺主。环节二:问题剖析——割圆术的数学语言(约8分钟)教师引导:从圆内接正六边形开始。设圆的半径为1,正六边形边长恰好等于半径。如果边数不断加倍,正多边形的周长会怎样?学生讨论得出:边数越多,多边形越贴近圆,周长越接近圆周,周长的一半除以半径就是圆周率的近似值。教师展示割圆动画,正6边形到正12边形到正24边形的形态变化,然后给出核心递推关系:设正n边形边长为a,则正2n边形的边长可以通过勾股定理由a求出。教师板书推导过程,引导学生完成学习任务单上的推导填空:新边长的平方=(a/2的平方)+(1−根号下(1−a平方/4)的平方)教师强调程序视角:每一次"割",都是旧边长算出新边长、边数翻一倍、周长重新计算的过程。请学生用自己的话描述这个循环的三个要素——从哪里开始,每圈做什么,什么时候停。设计意图:算法教学的关键在"数学表达向程序表达的转译"。此处慢下来做推导,是为后面代码环节扫除最大的障碍。推导以填空形式给出台阶,保证全员跟得上。环节三:算法设计——从自然语言到流程图(约6分钟)学生以小组为单位,把割圆过程写成自然语言步骤,再画成流程图。教师巡视,重点观察两类典型问题:一是初值设置(n=6,a=1),二是循环体内更新次序(必须先算新边长,再翻倍边数,再算周长)。选取两组作品通过实物投影对比评议:一组把"计算周长"放在边数翻倍之前,一组放在之后。教师不急于评判,而是请两组各用n=6手算一步,看哪一组得到的结果更接近圆周率。用数据说话,学生自己发现更新次序的重要性。教师小结算法骨架:设边数n=6,边长a=1重复执行若干次:由a算出新边长an翻倍圆周率近似值=n乘以a除以2输出结果设计意图:用对比评议代替直接告知正确流程,让学生在错误与修正中理解变量更新次序。手算一小步是连接抽象流程与具体数值的桥梁,也符合计算思维"分解—模式—抽象"的训练路径。环节四:编程实现——割圆法程序(约10分钟)学生打开预置的半成品代码文件,补全循环体并运行。框架代码中已给出变量声明和输出语句,挖空处为递推计算与边数更新:importmathn=6a=1.0foriinrange(10):a=math.sqrt(22math.sqrt(1(a/2)2))n=n2pi=na/2print(第几次迭代,i+1,圆周率近似值,pi)学生运行后观察输出:近似值从3.0开始,逐次逼近3.14159……教师提问:第7次、第8次迭代之后,数值还变吗?为什么不继续变?引导学生发现浮点数精度有限、算法已"收敛"的现象。变式任务:把固定循环10次改为while循环,要求"当相邻两次结果的差小于0.0000001时停止"。学生在任务单上画出修改方案再改代码,教师巡视辅导初值与差值变量的设置。设计意图:半成品代码降低了语法门槛,使课堂注意力集中在算法核心上;for改while的变式让学生真正理解"精度控制循环"的数值算法本质特征,这是本课最重要的思维增量。环节五:算法拓展——莱布尼茨级数法(约8分钟)教师抛出问题:割圆法很厉害,但每算一步都要开平方,古人已经觉得麻烦了。能不能只用加减乘除来算圆周率?展示莱布尼茨公式:圆周率/4=1−1/3+1/5−1/7+1/9−……引导学生观察规律:分母依次是1、3、5、7……符号正负交替。请学生先写出前5项手算结果,发现只得到3.34左右,误差很大。学生实现级数法程序:累加变量pi4,符号变量sign,循环k从0到N−1,每次把sign/(2k+1)累加进pi4,然后sign取反。教师给出提示代码:N=100000pi4=0.0sign=1forkinrange(N):pi4=pi4+sign/(2k+1)sign=signprint(4pi4)学生改变N的取值(10、1000、100000、1000000),在任务单实验记录表中填写运行结果与大致用时,感受收敛之慢。设计意图:级数法与割圆法形成鲜明对照:前者公式简单但收敛慢,后者公式复杂但收敛快。这种对比为下一环节的算法评价埋下伏笔,同时让学生体会到"数学上正确"与"计算上高效"是两个不同的问题。环节六:比较评价——哪种算法更好(约5分钟)小组汇总两种算法的实验数据,讨论三个问题:同样要精确到小数点后5位,各自需要多少步?哪种算法程序更短?如果让你选一个推荐给祖冲之,你选哪个,为什么?各组代表发言,教师用黑板表格汇总:割圆法约20次迭代达到高精度,级数法算到百万项仍在第四位上有偏差。教师点出结论:评价一个数值算法,不能只看公式漂亮不漂亮,还要看收敛速度、每一步的计算代价和精度是否可控。这就是算法的效率意识。拓展任务(供学有余力者):调用time模块给两种算法计时;或查阅蒙特卡罗方法,用随机投点估算圆周率,下节课分享。设计意图:把"评价算法"的权力交给学生的实验数据,培养实证精神。效率比较是本课计算思维培养的点睛处,它让学生从"会写程序"走向"会选算法"。环节七:总结升华与作业布置(约2分钟)师生共同回顾学习路径:数学思想(逼近)→算法描述(初值、迭代、终止)→程序实现(填空、运行、调试)→算法评价(精度与代价)。教师指出:今天你写的十几行代码,浓缩了从刘徽到祖冲之数百年的智慧;而现代超级计算机计算π的万亿位,用的依然是这样的迭代思想,只是算法更精巧。分层作业:必做题为完善课堂两个程序并撰写100字算法比较小结;选做题为用蒙特卡罗方法估算圆周率并分析误差来源。八、板书设计主板书分三栏。左栏:数学思想——割圆术,割之弥细,所失弥少;递推关系式。中栏:算法三要素——初值n=6与a=1、迭代更新、终止条件(次数或精度)。右栏:两种算法对比表,含步数、精度、结论"效率意识"。副板书区即时记录学生发言要点与典型错误代码,课后拍照留存供下节课复习使用。九、教学评价设计本课采用过程性评价为主的评价方案。任务单下设四个观测点:递推推导完成度、流程图正确性、程序运行结果、实验记录与分析质量,每个观测点设"达成、基本达成、待改进"三级,由学生自评、小组互评与教师抽评结合完成。程序作品通过机房广播系统抽查展示,评价标准聚焦三点:初值与更新次序是否正确、终止条件设计是否合理、输出格式是否清晰可读。评价结果计入单元学习档案袋,作为必修1模块过程性学分的组成部分。十、教学反思预设本课有三个需要一线课堂验证的预设。其一,割圆递推公式的推导对部分学生仍有难度,若课堂推进受阻,应果断改用"教师给公式、学生验证公式"的降阶方案,保住算法与程序这条主线。其二,while精度循环中"上一次结果"变量的引入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论