资源简介 / 让教学更有效 精品试卷 | 信息小学四—五年级 Python 程序设计(第一学期)教 学 设 计第3课 循环结构——让程序会重复课 题 第3课 循环结构——让程序会重复课 时 第 3 课时(40 分钟)课 型 新授教学环境 机房(Windows + Python 3.x + IDLE/Thonny)授课班级 四年级、五年级一、学情分析学生已经学会「判断」,接下来要解决「重复」。让电脑重复做事,学生天然能够理解(「让电脑帮我算 1 加到 100」),难点集中在三个技术细节:1.range() 的「左闭右开」——range(1, 101) 是 1 到 100,不含 101;2.累加器的写法——必须先设 total = 0 再循环累加,理解 total += i 的含义;3.while 与 for 的选用——次数已知用 for,次数未知(靠条件停止)用 while。本课预设 1 个课时;如学生接受较慢,可将 while 部分拆为第 3、4 两个课时。二、教学目标(一)知识目标1.掌握 for i in range(...) 的语法与 range 的三种写法。2.掌握累加器模式:初始化 → 循环累加 → 输出结果。3.掌握 while 循环与 break 语句的作用。(二)能力目标1.能判断一个重复任务应当用 for 还是 while。2.能独立编写「求和、求平均、求阶乘」三类累加类程序。(三)素养目标1.感受「用循环把 100 次计算变成 3 行代码」的效率震撼。2.通过「猜数字」游戏体会人机交互的乐趣。三、教学重点与难点项 目 内 容教学重点 for 与 range 的用法;累加器模式(初始化—累加—输出)。教学难点 累加器必须先初始化;while True 与 break 的配合;range 的边界(不含终点)。四、教学准备· 教师:课件、1 加到 100 的「手算 vs 程序」对比演示、示例代码 4 个。· 学生:练习卷、草稿纸(鼓励先手算再写码)。· 素材:1求和.py、2求平均数.py、3偶数的和.py、4猜数字.py。五、教学过程(共 40 分钟)环节一 问题驱动:1 加到 100(5 分钟)提问:「谁能最快算出 1+2+3+…+100?」学生给出高斯算法后,教师追问:「如果我要 1 加到 100 万呢?」教师在教师机上现场运行 1求和.py,一秒出结果,形成认知冲击。total = 0for i in range(1, 101):total += iprint(total)【设计意图】先建立「值得用循环」的价值感,再讲语法。环节二 新授:for 与 range(12 分钟)核心图示(板书):for i in range(1, 101):↑ ↑ ↑循环变量 起点 终点(不含!)range 三种写法对照表(学生记笔记):写 法 产生的数 循环次数range(5) 0,1,2,3,4 5 次range(1, 6) 1,2,3,4,5 5 次range(1, 10, 2) 1,3,5,7,9 5 次range(5, 0, -1) 5,4,3,2,1 5 次上机小实验(3 分钟):让学生写 for i in range(1, 6): print(i),然后自己改数字,观察终点是否包含。自己发现「不含终点」比老师讲十遍有效。累加器三步法(板书):① total = 0 先准备一个空盒子② total += i 每转一圈往里加一点③ print(total) 转完再打开看常见错误对比:错误写法 后 果忘记写 total = 0 NameError: name 'total' is not definedtotal = i(少了 +) 每次覆盖,最后只剩最后一个数total += i 写在循环外 只加一次环节三 新授:while 与 break(10 分钟)过渡提问:「什么时候停,我们事先不知道怎么办?」→ 猜数字游戏。演示 4猜数字.py:import randomtarget = random.randint(1, 100)count = 0while True:guess = int(input("猜1-100:"))count += 1if guess > target:print("大了")elif guess < target:print("小了")else:print(f"猜对了,共猜{count}次")break讲解要点:① import random 引入随机数工具,randint(1, 100) 得到 1~100 之间的整数;② while True 表示「一直循环」;③ break 表示「跳出循环」——找到答案就退出,否则会永远问下去;④ count += 1 是计数器,用来统计猜了几次。学生分组对战:两人一组,各运行一次,猜的次数少的胜。环节四 补充:两种累加(7 分钟)演示 2求平均数.py——从「求和」到「求和再除」:累加 + 计数器,最后除以个数。演示 3偶数的和.py——在循环里加一个 if 筛选,说明分支与循环可以叠加使用。n = int(input())ans = 1for i in range(1, n + 1):ans *= iprint(ans)关键对比(板书):total += i ans *= i初值 0 1效果 求和 求阶乘(连乘)注意:为什么连乘的初值必须是 1 而不是 0?——让学生自己回答(乘 0 全变 0)。环节五 总结与作业(6 分钟)一句话总结:循环 = 重复做同一件事;for 用于次数已知,while 用于次数未知。口诀(板书):累加先清零,连乘先设一;range 去尾不去头,跳出循环用 break。六、板书设计第3课 循环结构for i in range(起点, 终点(不含), 步长):循环体(要重复做的事)累加三步: total=0 → total+=i → print(total)求阶乘: ans=1 → ans*=iwhile 条件: 次数未知时用...break 跳出循环for 次数已知 | while 次数未知七、分层作业★ 完成练习卷第一、二、三题(补全 range 与累加器)。★★ 完成练习卷第四、五题:求 1~100 中所有偶数的和;求 n 个数的平均数。★★★ 完成练习卷第六题:改写猜数字游戏,最多猜 7 次,超过则提示「机会用完」。八、教学反思要点1.「range 不含终点」这一点是否需要在下节课开头再测一次?2.累加器忘记初始化是最高频错误吗?可考虑做成一张贴在机房墙上的「避坑口诀」。3.while True + break 对四年级学生是否偏难?是否应对该部分降低要求?课后记(教师填写):______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)21世纪教育网(www.21cnjy.com) 展开更多...... 收起↑ 资源预览