内容正文:
5.2 设计简单程序(第二课时)(教案)
课 题
5.2 设计简单程序(第二课时)
课型
新授课
主备人
集体备课时间
课时安排
教授人
授课班级
授课时间
教学目标
1. 知识与技能
· 了解循环结构的概念和适用场景,理解while循环与for循环的执行流程及其互异场景
· 掌握while循环“初始条件→循环条件→循环体→变量更新”的四段式语法格式
· 掌握for循环与range( )函数的配合使用方法,知道range( )函数的参数规则
· 了解break和continue语句的功能与区别,能在循环体中正确使用循环控制语句
· 能根据实际需求绘制循环结构的流程图,并用Python代码实现简单循环程序
2. 过程与方法
· 通过“手机使用调查批量处理”项目情境任务驱动,在真实的批量数据处理需求中掌握循环结构的系统应用方法
· 通过“三要素对比演示”和“故意踩坑→观察报错→定位原因→修正验证”四阶体验,突破while循环构建的核心认知难点
· 通过“手动重复—循环程序—AI循环生成”三级对比体验,建立“原理为本、AI提效”的新型数据与编程素养
3. 情感态度与价值观
· 培养代码编写中的安全意识与严谨习惯——一次变量更新遗漏可能导致无限循环,一次缩进错误可能改变整个程序的执行逻辑
· 通过对不同循环方案效率的对比测试,养成在工作中追求高效算法与代码优化的职业习惯
· 在AI编程对比中建立“AI辅写代码框架,人工审核逻辑完整性与终止条件正确性”的新型职业素养
教学重点
· while循环的语法格式及“初始条件→循环条件→变量更新”四段式结构
· for循环与range( )函数的配合使用方法
· break和continue语句的功能与互异
教学难点
· while循环的“三要素”的完整性——缺少任意一个都会导致程序异常或死循环
· range( )函数的参数规则:起始值、终止值(“开区间”规则)、步长
· while循环与for循环的选择判断:什么场景用while、什么场景用for
学习策略
情境教学法、任务驱动法、先错后正法、对比体验法、代码追踪法、演示法、小组合作探究法
设计理念与创新点
1. 情境驱动:延用第5单元“手机使用调查”项目情境主线——以“年级组长需要把全年级学生的手机使用数据进行批量分级处理”为业务需求,自然引出循环结构学习。让学生从5.2.1“一次只判断一个学生”的选择结构程序,进阶到“一次处理整个列表”的循环程序
2. 采用“识—写—控—拓”四步递进教学链:识循环(认识while/for循环的语法与执行流程,建立循环三要素认知)→写循环(动手编写简单的循环程序,用代码追踪表理解逐行执行过程)→控循环(掌握break/continue循环控制语句及死循环避免策略)→拓视野(AI辅助循环编程体验,对比手动编写与AI自动生成的效率与质量),让教学过程从认知到编写到控制到拓展层层递进
3. 先错后正法突破核心难点:在while循环三要素和range( )参数两个难点上,先让学生亲历“写出错误代码→程序异常/死循环→教师引导分析错误类型→自行修正→验证通过”的完整闭环。尤其是死循环——让学生故意制造一次死循环并用Ctrl+C强制终止,体验“程序卡死”的真实后果后再纠正,远比教师口头提醒“注意避免死循环”深刻得多
4. 代码追踪表法:针对循环结构的执行流程,引入“代码追踪表”学习工具——学生在纸上逐行记录每次循环中各变量的值变化,在手动追踪中理解循环的运行机制
教学过程
教学内容
教师活动
学生活动
设计意图
情境唤醒
延续第5单元“手机使用调查”项目主线,发布升级需求:“上节课的分级助手虽然能判断一个人的时长等级,但年级组长又说——‘每次运行只能处理一个学生,全年级几百个学生的时长数据都在这份表里,一个一个输入名字和时长要花一个下午。能不能让程序读取一份名单,一次性把所有人的分级都算完?’”教师在终端演示运行一次只处理一个学生的V3程序→每次输入一个姓名和时长→输出一个等级→然后程序停止。学生轮替观察同一程序运行三次后的输入输出与重启过程
观察教师演示的单次处理程序,估算 “全年级300个学生=300次手动输入姓名和时长” 的重复操作量与耗时
承接5.2.1的选择结构成果,以数据量级的放大效应自然引出循环结构的核心价值——让程序自己重复执行,替代每次手动启停
明确任务
教师总结:“这就是循环结构的威力——让计算机自动重复执行同样的判断逻辑,只写一次代码就能处理成千上万条数据。今天我们将帮年级组长把分级助手升级为‘批量处理版’——①掌握while循环和for循环两种重复执行方式;②用循环结构批量处理全年级学生的手机使用时长数据;③体验AI如何帮你生成循环代码并分析其逻辑优缺点。”分发任务书
查看任务书,明确任务目标
以版本迭代驱动全课,让学生清晰看到自己从V3单次判断到V4批量处理的能力跃升路径
循环概念讲解
讲解循环结构的概念与本质:“循环是程序中的一段代码被重复执行多次——程序不再只从上到下跑一遍,而是在循环标志开始处形成一个‘回头箭’,当满足条件时继续往回执行、当不再满足时跳出循环继续往下走。”结合生活类比——洗衣服时洗衣机自动重复转动的脱水功能,音乐播放器自动重复循环同一张歌单里的曲目,都是在执行“循环”
记录循环结构的定义和特征,回想生活中重复执行的例子
以生活化类比建立循环结构“自动重复执行”的核心认知
两种循环概览
简要介绍Python中两种循环结构的定位差异:“while循环——‘只要条件满足就一直重复’,像用洗衣机洗不同厚度的衣物,每种织物模式的水温、脱水和洗涤时长都不同,什么时候停止洗取决于织物类型检测传感器传给控制器的实测数据,而不是事先写进了循环次数。for循环——‘对一个序列里的每一个元素执行一次’,像按歌单从上到下逐个播放,歌单一共几首歌就重复几遍。”
记录while循环与for循环各自的关键词——while=条件驱动/次数不定,for=次数驱动/一序列,为后续详细教学建立初步区分认知
在第一接触时刻建立两种循环的基本区分,帮助后续逐一深入学习时保证头脑中“两轨道”并行清晰
while循环语法讲解
讲解while循环的完整语法结构与四要素: “while后面跟一个条件表达式,程序每次重复前都会检查这个条件——True则执行循环体一遍,执行完后回到条件处再次检查;直到条件变为False才跳出循环,继续执行后续代码。”板书演示一个倒计数循环的完整案例:count = 5(初始条件)→while count > 0:(循环条件)→缩进内:print(count) → count = count - 1(变量更新,缺少此行即将陷入死循环)→条件首次不满足时循环停止,从下一行继续。同时展示该循环对应的流程图——菱形判断框和带箭头的回路连接线共同构成while循环的可视化逻辑结构
在自己的编程平台上跟做倒计数演示代码,重点观察条件表达式的布尔值切换时刻和计数递减过程的对应关系。同时跟随课件观察流程图
掌握while循环的完整语法格式和四段式结构,建立“条件判断→循环体→变量更新→回到条件”的执行流程认知
while三要素对比演示
教师在终端实时演示三种异常场景的while循环代码及报错信息——①缺少初始条件:while x > 0: → NameError: name ‘x’ is not defined,变量未定义导致程序直接终止;②缺少变量更新:x = 3; while x > 0: print(x) → 无限循环死锁,输出3永不停止,直至按下Ctrl+C强制终止;③完整的三要素:x = 3; while x > 0: print(x); x = x - 1 → 正常输出3、2、1后终止。演示过程中对死循环场景做一个短暂的暂停停顿,让学生观察当没有修正机制时“变量不更新”将导致程序不能自主停止
观察三种代码的不同运行效果,记录缺少任一要素时的Python报错界面信息和程序表现差异。在“缺少变量更新”环节亲自按下Ctrl+C强制终止一次死循环
“三要素对比演示”。将while循环的教学按照“正确结构”与“两种典型错误结构”的并排对比展示,将抽象的“缺少某要素”转化为屏幕上的报错信息和死循环卡屏等具象化、可观察的信号,构建起“while代码必须保证三项条件同时满足”的全景认知
任务一:while循环基础编码——“写一写”
while基础任务发布 发放任务书中的“while循环基础编码”专区,布置基础任务:“请各小组在编程平台上完成以下三个while循环基础练习并记录每一步的运行截图——①编写程序输出1到10所有整数(初始条件=1→条件<=10→每轮print后加1);②编写程序输出10到1所有整数(初始条件=10→条件>=1→每轮print后减1);③编写程序让用户反复输入学生的姓名和手机使用时长,每次输入完输出一条分级评定(调用上节课的V3分级逻辑)→当用户输入姓名为‘exit’时退出程序。测试:模拟连续输入3组学生数据后输入exit,验证程序正常退出后终端回溯输出所有个案的分级记录。”巡视各组编码情况和循环条件正确性,对未正确处理循环退出条件的小组指导查看while循环的执行流程逻辑 小组按任务顺序逐项完成编码并运行测试,在第三题特别注意while条件中判断字符串相等必须使用==而不是=
在真实编码中巩固while循环的完整语法格式和循环退出条件的设置。
第三题将5.2.1的选择结构与本课的循环结构融合到同一个程序中,形成完整的“循环+判断”复合结构的第一手经验
任务二:for循环基础编码——“练一练”
for基础任务发布 发放任务书上的“for循环基础编码”专区,布置基础练习任务:“请各小组完成以下三个for循环练习——①用for循环和range( )输出1到10所有整数;②用for循环和range( )输出10到1的所有整数(提示:利用step=-1构建递减序列);③用for循环依次处理一份包含8个学生时长的列表[2.5, 4.8, 6.1, 1.2, 3.7, 5.3, 7.0, 0.9],用上节课的V3分级逻辑遍历列表中的每个时长值并打印对应等级。”巡视各组的for循环语法和range参数格式
小组逐一完成for循环编码和验证,第三题将5.2.1的选择结构与5.2.2的for循环结构融合一次
在真实数据中巩固for循环+range( )的综合应用,第三题将5.2.1的“选结构与5.2.2的for循环结构自然融合成能一次批量处理整张时长列表的小型完整程序
成果展示
选取2—3个小组代表上台投屏展示:①综合实战的“批量分级程序”完整代码(含while/for+if-elif-else的完整组合);②代码追踪表的填写结果和核对结论;③“手动编程—AI结对编程 双模对比”记录表的核心结论;④代码互审中本组发现的一个典型错误及修正过程
小组代表展示并讲解,其他小组认真倾听并在评价表中记录关键对比数据
锻炼表达与展示能力,促进组间经验交流和知识互补
多元评价
组织自评、互评,教师进行点评总结。重点评价:①while三要素是否完整(无循环变量未更新/初始值丢失项);②for循环的range参数是否正确匹配列表长度且终止值规范;③break/continue的缩进层级和语法位置是否正确;④“手动与AI循环对比”的分析深度与客观性。表扬编码规范、逻辑清晰且对比分析有独立见解的小组,纠正班级共性问题
进行自我评价和小组互评,填写评价记录
构建多维评价体系
知识梳理
带领学生回顾本课核心知识框架:“循环结构三剑客——①while循环(条件驱动的四段式结构:初始条件→循环条件→循环体→变量更新),三要素缺一不可;②for循环(序列驱动的遍历结构:for 变量 in 可迭代对象),配合range( )函数精准控制循环次数——range(N)生成0到N-1共N个数,起含终不及;③break与continue(break立即终止全循环,continue跳过本轮进入下一轮循环循环),Ctrl+C紧急中断死循环。”梳理5.2节三条任务的递进关系——使用选择结构(数据怎么判断筛选)→使用循环结构(数据怎么批量处理)→使用函数(逻辑怎么封装复用)。用两句话总结核心理解:“循环结构是程序从‘手工操作’跃升为‘自动化工厂’的分水岭——while懂得‘只要条件还在就一直执行’,for懂得‘按顺序逐项处理’。一个循环的完整性和安全性全系于三要素的完备,一条终止条件的准确与否决定了程序是一次从容结束还是永无休止。”
跟随教师梳理知识框架,完善任务书笔记
构建系统化知识结构,完成5.2节第二块核心技能的教学闭环
板书设计
板书设计:5.2.2 使用循环结构
一、循环结构——“让程序重复执行”
· while循环(条件驱动/次数不定):初始条件→循环条件→循环体→变量更新(四段式,缺一不可)
· for循环(序列驱动/次数固定):for 变量 in 可迭代对象:→逐个取出→逐一执行
· range( )函数:range(N)→0到N-1;range(M,N)→M到N-1;range(M,N,step)→步长为step。口诀:起含终不及,步距任意移
二、循环控制——“暂停与中断”
· break:立即终止整个循环,程序从循环下一行继续执行
· continue:跳过本轮循环,直接回到循环条件处开始下一轮
· 死循环应急:按Ctrl+C强制终止
三、while vs for——“看情况选武器”
· while:不知道具体循环次数但知道停止条件,如用户输入密码直到输对
· for:知道具体循环次数或遍历一个已知长度的序列,如处理列表中每个学生的数据
教学反思
(课后填写)
· 教学目标达成度分析
· 学生对信息技术发展历程的理解情况
· 小组讨论环节的参与度和效果
· 课程思政融入的自然度
· 改进措施与建议
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$