高中信息技术必修1Python基础知识(四)循环结构教学设计_第1页
高中信息技术必修1Python基础知识(四)循环结构教学设计_第2页
高中信息技术必修1Python基础知识(四)循环结构教学设计_第3页
高中信息技术必修1Python基础知识(四)循环结构教学设计_第4页
高中信息技术必修1Python基础知识(四)循环结构教学设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

高中信息技术必修1Python基础知识(四)循环结构教学设计一、教学设计的总体构思本节课是Python基础知识系列的第四课时,学生在前面已经掌握了变量与数据类型、输入输出语句、顺序结构以及选择结构。本课的核心任务是让学生理解循环结构的思想,掌握for循环与while循环的语法格式,能够运用range函数、循环控制语句解决批量处理问题,并初步建立"头脑先行、程序验证"的编程思维方式。依据《普通高中信息技术课程标准(2017年版2020年修订)》对必修模块1"数据与计算"的要求,学生应经历分析问题、抽象建模、设计算法、编写程序、调试运行的完整过程。本课选取"累加求和"作为贯穿主线,从1加到100的高斯故事切入,逐步延伸到条件累加、循环嵌套与简单应用,使知识脉络层层递进。二、学情分析授课对象为高一年级学生。他们已经能够写出简单的输入、计算、输出三段式小程序,对if语句的单分支与双分支结构有了初步认识。但从历次作业反馈看,学生普遍存在三个困难:一是面对重复性劳动想不到用循环,习惯把相似语句复制多遍;二是对循环变量的变化过程缺乏追踪意识,分不清循环体和循环外的语句;三是循环条件的边界容易出错,比如range(1,100)到底含不含100,常常需要多次试错。因此,本课在教法上强调"先手工模拟,再上机验证",借助表格追踪循环变量的每一次取值,让学生在动手之前先建立心理模型。三、教学目标1.知识与技能目标。学生能准确说出for循环和while循环的语法结构与执行流程,能正确使用range函数的三种参数形式,能用累加和计数两种基本模式解决常见问题,能在教师指导下使用break和continue改变循环的执行路径。2.过程与方法目标。学生经历"自然语言描述—流程图表达—代码实现—数据验证"的完整过程,学会用变量追踪表调试循环程序,能根据问题的规模判断重复次数已知时用for、次数未知时用while。3.情感态度与价值观目标。学生体会计算机处理重复性任务的威力,感受算法思想化繁为简的魅力,养成先想清楚再写代码的习惯,形成主动验证结果的严谨态度。四、教学重点与难点教学重点:for循环与while循环的语法格式及执行流程,累加模式与计数模式的程序实现。教学难点:循环条件的边界控制,两种循环的选择依据,循环变量变化过程的追踪与调试。五、教学准备机房环境要求每台计算机安装Python3.x解释器与IDLE或Thonny编辑器,教师机安装广播教学软件。课前准备好三个演示程序(死循环示例、累加示例、边界错误示例)和一份学生任务单。任务单上印有本课要使用的全部代码框架、变量追踪表和拓展思考题。六、教学过程(一)情境导入:高斯的算术课(5分钟)上课铃响后,教师在大屏幕上展示一个故事情境:两百多年前,数学课上老师给学生们出了一道题,计算1加2加3一直加到100。别的孩子还在一个一个地加,年仅十岁的高斯却很快说出了答案5050。教师提问:"如果请同学们用笔算,要算多久?如果用我们学过的Python,能不能让计算机替我们做这件事?"学生的第一反应往往是写出sum=1+2+3+...这样的长表达式。教师顺势引导:"这样的表达式写到100项还能忍受,如果加到10000呢?写到屏幕上要多少行?"学生在讨论中意识到,手写的办法面对大规模重复操作根本行不通。教师引出本课主题:程序设计中的循环结构,正是为了解决"有规律的重复"而生的。设计意图:用经典数学故事制造认知冲突,让学生真切感到"不会循环就寸步难行",从而产出真实的学习需求,而不是被教师告知今天要学循环。(二)新知探究一:认识for循环(15分钟)1.语法呈现教师板书for循环的基本结构:for循环变量in序列:循环体语句配合一段最简单的代码现场运行:foriinrange(5):print("你好,编程世界")程序运行后屏幕上出现五行相同的问候语。教师提问:"这五行是复制粘贴出来的吗?显然不是,是循环替我们重复执行了五次。"2.range函数的三种面貌教师依次演示三种用法并让学生观察输出:range(5)产生0,1,2,3,4range(1,6)产生1,2,3,4,5range(1,10,2)产生1,3,5,7,9教师强调range函数"顾头不顾尾"的特性:左端点包含,右端点不包含。这是初学者最容易犯的错误,要求学生在自己的笔记上画一个数轴,把产生序列的区间标成"左闭右开"。3.变量追踪训练教师给出程序:s=0foriinrange(1,6):s=s+iprint(s)要求学生在任务单的表格中逐轮填写i和s的值:第1轮:i=1,s=0+1=1第2轮:i=2,s=1+2=3第3轮:i=3,s=3+3=6第4轮:i=4,s=6+4=10第5轮:i=5,s=10+5=15填完后学生口头报出最终输出15,再上机验证。教师指出s=s+i这一行的精髓:右边的s是"旧值",左边的s是"新值",赋值号在这里不是数学上的相等,而是"把右边的结果装进左边的盒子"。设计意图:变量追踪表是把看不见的循环过程变成看得见的表格,帮助学生在大脑中搭建循环执行的心理模型,这是跨越循环学习门槛的关键支架。(三)新知探究二:完成高斯问题的求解(10分钟)教师发布任务一:用for循环计算1+2+3+…+100,并输出结果。学生独立完成后,教师巡视并挑选两名学生的代码投屏展示,重点对比两个问题:其一,s=0这行初始化语句放在循环外还是循环内?教师通过把初始语句放进循环体演示错误结果,让学生看到每一轮s都被清零,最后输出只有100。由此归纳出"累加器在循环开始前清零"的口诀。其二,range应该写成range(1,100)还是range(1,101)?学生回顾"左闭右开"规则,确认要加到100就必须写到101。随后发布任务二(变式挑战):计算2+4+6+…+100(偶数求和)和1×2×3×…×10(阶乘)。偶数求和考察range的步长参数range(2,101,2)。阶乘题故意设置一个陷阱:如果学生把累乘器初始化成0,结果永远是0。教师请出错的学生自己讲述"踩坑"过程,全班总结出"加法从零开始,乘法从壹开始"的经验。教师板书归纳累加模式的标准结构:累加器初始化for循环变量inrange(起点,终点+1,步长):累加器=累加器运算当前项输出累加器设计意图:同一个模式在三个变式中反复出现,学生在"练中悟"中完成知识的内化;故意设置的初始值陷阱比教师的正面讲解更能留下深刻印象。(四)新知探究三:认识while循环(12分钟)4.问题情境转换教师提出新问题:"往银行里存钱,本金1万元,年利率按百分之三计算,每年利滚利,问多少年后存款能翻倍?"学生尝试用for循环解决时发现困难:循环多少次?事先根本不知道。教师指出:当重复次数不明确、只知道停止条件时,while循环登场。5.语法呈现与代码实现while条件:循环体语句对应程序:money=10000year=0whilemoney<20000:money=money1.03year=year+1print(year,"年后存款为",round(money,2),"元")运行结果约为24年后存款翻倍。教师让学生在追踪表中验证前几轮money的变化,确认对循环过程的理解。6.死循环的演示与警示教师故意把循环体中的money=money1.03删除再运行,程序陷入死循环,输出窗口再无动静。教师按Ctrl+C终止程序,并总结while循环的三要素:循环前:初始化相关变量;条件中:写清楚继续循环的依据;循环体内:必须有让条件趋向不成立的语句,否则死循环。7.两种循环的对比与选择师生共同完成对比表:for循环:重复次数事先确定,或遍历一个明确的序列,如"打印九九乘法表的某一行""统计列表中的元素个数"。while循环:重复次数事先不确定,依赖某个条件是否满足,如"猜数游戏直到猜中""存款达到目标值"。教师补充说明:任何for循环都能改写成while,反之则较繁琐;选择的原则是看问题本身暴露了"次数"还是"条件"。设计意图:以"存款翻倍"这一学生有生活感的问题作为while的切入点,让"次数未知"的特征自然显现;死循环的现场演示比口头警告更有冲击力。(五)综合实践:循环与分支的联手(15分钟)教师发布分层任务,基础层必做,提高层选做。基础任务:统计1到1000之间能被7整除但不能被5整除的整数有多少个,并输出它们的和。参考解答:count=0total=0foriinrange(1,1001):ifi%7==0andi%5!=0:count=count+1total=total+iprint("个数:",count,"和:",total)教师指出这道题浓缩了本单元两个核心模式:计数(count初值为0,满足条件加1)与累加(total初值为0,满足条件累加)。判断条件中"被7整除"用求余运算i%7==0表达,"不能被5整除"用i%5!=0表达,提醒学生注意等号与赋值号的区别。提高任务:编写猜数游戏。程序内部设定一个1到100之间的整数(可用importrandom后random.randint(1,100)生成),用户反复输入猜测,程序提示"大了"或"小了",直到猜中,最后输出猜测的总次数。参考解答:importrandomsecret=random.randint(1,100)guess=0times=0whileguess!=secret:guess=int(input("请输入你猜的数:"))times=times+1ifguess>secret:print("猜大了")elifguess<secret:print("猜小了")print("恭喜猜中!共用了",times,"次")教师借机介绍break与continue:break用于立即跳出整个循环,continue用于跳过本轮剩余部分直接进入下一轮。可用猜数游戏中"输入1放弃游戏"的需求演示break的用法,用"跳过所有偶数只处理奇数"的需求演示continue的用法。教师巡视指导期间重点关注三类典型错误:一是冒号丢失或缩进错误,二是循环条件写反导致死循环或一次都不执行,三是把print(result)误缩进进循环体导致每轮都输出中间值。对每一类错误,教师要求学生先说"程序现在做了什么",再说"我本来想让它做什么",培养学生的调试表达能力。设计意图:分层任务照顾差异,基础任务巩固计数与累加双模式,提高任务综合while、分支、随机数与应用情境,让学有余力的学生获得完整的作品体验。错误归类指导把调试能力的培养落到实处。(六)课堂小结与升华(3分钟)教师带领学生回顾本课知识网络:循环结构是为重复而生;for主管"次数已知",while主管"条件驱动";累加从零开始,累乘从壹开始;range左闭右开;循环三要素缺一不可。最后教师展示一句话寄语:"计算机最擅长的就是不知疲倦地重复,而人最擅长的,是告诉它重复什么。学会把规律交给机器,把思考留给自己。"七、板书设计黑板左侧:循环结构知识树——循环的分类(for/while)、循环三要素(初始化、条件、趋向结束)、基本模式(累加、计数)。黑板中部:高斯问题的代码及变量追踪表。黑板右侧:易错警示——range左闭右开;加法从零、乘法从壹;冒号与缩进;死循环。八、作业设计必做作业:第一题,计算100以内的所有水仙花数(三位数中各位数字立方和等于它本身的数),提示使用循环嵌套或整除取余拆分各位数字。第二题,用while循环实现"输入若干名学生的成绩,输入1结束,输出平均分和最高分"。选做作业:查阅资料了解斐波那契数列的定义,编写程序输出前20项,并尝试说明它出现在自然界的哪些现象中。九、教学反思(课后填写)

温馨提示

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

评论

0/150

提交评论