第13课 递推与模拟——一步一步往下推 教学设计+html素材 小学信息科技Python程序设计

资源下载
  1. 二一教育资源

第13课 递推与模拟——一步一步往下推 教学设计+html素材 小学信息科技Python程序设计

资源简介

/ 让教学更有效 精品试卷 | 信息
小学四—五年级 Python 程序设计(第一学期)
教 学 设 计
第13课 递推与模拟——一步一步往下推
课  题 第13课 递推与模拟——一步一步往下推
课  时 第 13 课时(40 分钟)
课  型 算法新授 + 竞赛衔接
教学环境 机房(Windows + Python 3.x + IDLE/Thonny)
授课班级 四年级、五年级
一、学情分析
学生已经掌握循环、列表、函数与递归,也接触过枚举与查找排序。本课要学的递推,可以理解为「递归的循环版」——不用函数自己调用自己,而是用循环从前一项推出后一项,用变量或列表把中间结果存住。
学生的难点集中在两处:
1.递推公式看不懂,不知道「前一项」和「后一项」怎么对应到变量;
2.不会「模拟」——把文字叙述的操作一步一步翻译成代码,尤其是「猴子吃桃」这类逆推题,方向容易搞反。
本课以「猴子吃桃」「爬楼梯」「斐波那契的快速实现」为主线,让学生体会递推的两大好处:思路更清晰、速度比递归快得多。
二、教学目标
(一)知识目标
1.理解递推的含义:由已知的初始值出发,按规律逐步推出后续每一项。
2.掌握用变量或列表实现递推的方法,能识别并写出递推公式。
3.掌握「模拟」的解题方法,能把文字描述的操作逐步翻译成程序。
(二)能力目标
1.能根据题目找到递推关系与初始值,写出递推程序。
2.能用递推重写递归题(如斐波那契),并说出两者的效率差异。
3.能完成猴子吃桃、爬楼梯等经典模拟与逆推问题。
(三)素养目标
1.体会「把复杂的连锁关系拆成一步步」的思维方法。
2.感受数学规律与程序相互印证的美感。
三、教学重点与难点
项 目 内 容
教学重点 递推公式的识别与实现;递推的初始值设定;逆推(猴子吃桃)的方向把握。
教学难点 从文字叙述中提炼递推关系;逆推时循环的方向与变量更新顺序;递推与递归的异同。
四、教学准备
· 教师:课件、猴子吃桃的图示(正推 / 逆推对照)、爬楼梯示意图。
· 学生:练习卷、上机账号。
· 素材:本课 5 个程序文件 1斐波那契递推.py ~ 5爬楼梯.py。
五、教学过程(共 40 分钟)
环节一 复习导入:递归太慢了(5 分钟)
回顾第 10 课:递归写斐波那契很漂亮,但算 fib(35) 慢得让人着急。提问:「慢在哪里?」
引导学生回忆展开树:fib(30) 被算了好几遍,同一个结果反复重算,白白浪费时间。
设疑:「能不能把算过的结果存起来,下次直接用?」——这正是递推的思路:从最小的开始,一项一项往后推,每算一项就存住,绝不重算。
【设计意图】用递归的效率痛点引出递推,让新知识成为旧知识的自然升级,而不是孤立的另一套写法。
环节二 新授:斐波那契的递推写法(10 分钟)
演示 1斐波那契递推.py。
n = int(input("求第几项:"))
if n <= 2:
print(1)
else:/n a, b = 1, 1 # a 是前两项,b 是前一项
for i in range(3, n + 1):
a, b = b, a + b # 一起往后挪一格
print(b)
用表格演示「两个变量往前挪」的过程(n = 7):
i 挪之前 a 挪之前 b b = a + b 后 说明
初始 1 1 — 第 1、2 项都是 1
3 1 1 2 第 3 项 = 1+1
4 1 2 3 第 4 项 = 1+2
5 2 3 5 第 5 项 = 2+3
6 3 5 8 第 6 项 = 3+5
7 5 8 13 第 7 项 = 5+8
解释 a, b = b, a + b 这一行:右边的 a + b 先用旧的 a、旧的 b 算出来,然后同时赋给 a 和 b。等价于「a 接管旧的 b,b 接管两者之和」——相当于把窗口往前滑动一格。
强调:递推只需要两个变量,不用开数组,空间极省,速度又快(要算第 n 项,循环 n-2 次即可)。
对照递归版:算 fib(35) 递归要几十万次调用,递推只要 33 次循环。差距悬殊。
环节三 新授:用列表递推(10 分钟)
演示 2递推存列表.py——把每一项都存下来,方便回头查。
n = int(input("求第几项:"))
f = [0] * (n + 1) # 多开一位,让下标和项号对齐
f[1] = 1
f[2] = 1
for i in range(3, n + 1):
f[i] = f[i - 1] + f[i - 2]
print(f[n])
讲解 f = [0] * (n + 1) 这个技巧:开 n + 1 个位置,让 f[1] 正好对应第 1 项,读代码时「第几项就是 f[几]」,不容易搞混下标。
好处:如果题目要问「前 n 项的和」或「第 5 项是多少」,列表里全都有,直接取用。
提问:「两个变量的写法更省空间,列表的写法更灵活,考试时该选哪个?」→ 取决于后面还要不要用到中间项。只用最后一项就选两个变量;还要用中间项就选列表。
环节四 新授:逆向推理——猴子吃桃(10 分钟)
出题:猴子第一天摘下若干个桃子,当天吃掉一半又多吃一个;第二天又将剩下的吃掉一半又多吃一个……到第 10 天早上只剩 1 个桃子。求第一天共摘了多少个?
先问:「顺着推容易,还是倒着推容易?」让学生讨论——答案是倒着推,因为「第 10 天剩 1 个」是已知的,第 1 天的数量却是未知的。
建立逆推公式(板书推导):
设第 k 天早上有 x 个桃子。
当天吃掉一半多一个,剩下的就是:
第 k+1 天早上 = x ÷ 2 - 1
反过来求 x:
x = (第 k+1 天早上 + 1) × 2
演示 3猴子吃桃.py。
peach = 1 # 第 10 天早上还剩 1 个
for day in range(9, 0, -1): # 从第 9 天倒推到第 1 天
peach = (peach + 1) * 2
print(f"第一天共摘了 {peach} 个桃子")
关键讲三点:
(1)循环是倒着走的,range(9, 0, -1),步长为 -1;因为我们是「从第 10 天往回推」。
(2)peach 这个变量在循环里不断被更新:每一轮它表示「当天早上的桃子数」,推完一轮就变成「前一天早上的桃子数」。
(3)公式里那个 +1 和 ×2 不能颠倒,因为「吃了再多一个」意味着「剩下的比一半少 1」,所以逆推时要「先加回 1,再乘 2」。
手动验证最后几天(让学生跟着算):
天 当天早上个数 计算过程
第 10 天 1 已知
第 9 天 4 (1 + 1) × 2 = 4
第 8 天 10 (4 + 1) × 2 = 10
第 7 天 22 (10 + 1) × 2 = 22
第 6 天 46 (22 + 1) × 2 = 46
环节五 拓展与总结(5 分钟)
演示 4数字反转.py、5爬楼梯.py 作为补充,让学生体会「模拟」的通用性。
# 爬楼梯:每次走 1 级或 2 级,走 n 级共有多少种走法?
# 递推:f(n) = f(n-1) + f(n-2),本质仍是斐波那契
n = int(input("楼梯级数:"))
if n <= 2:
print(n)
else:/n a, b = 1, 2
for i in range(3, n + 1):
a, b = b, a + b
print(b)
指出:爬楼梯看似和斐波那契无关,但推一推就能发现是同一个递推式——这就是「识别出熟悉的模型」的能力,也是竞赛中最值钱的能力。
本课一句话总结:递推就是「从已知的起点出发,按规律一步一步往后推」;正推难就试试倒推,看到一个陌生的递推式,先想一想它是不是你熟悉的那个老模型。
六、板书设计
第13课 递推与模拟
递推 = 初始值 + 递推公式 + 循环推进
斐波那契(两个变量法)
a, b = 1, 1
for i in range(3, n+1):
a, b = b, a + b
猴子吃桃(逆推)
peach = 1
for day in range(9, 0, -1):
peach = (peach + 1) * 2
正推难 → 试着倒推
陌生题 → 找熟悉的递推模型
七、分层作业
★ 完成练习卷第一、二、三题(填空、判断、手算模拟)。
★★ 完成练习卷第四题:用递推求第 n 项斐波那契数;用递推求 1+2+…+n。
★★★ 完成练习卷第五题:完成猴子吃桃问题,并把程序改成「输出每一天早上的桃子数」,找出在哪一天桃子第一次少于 100 个。
八、教学反思要点
1.a, b = b, a + b 这一行「同时赋值」是否讲清楚?是否需要改用中间变量过渡一遍?
2.猴子吃桃的逆推方向学生是否能自己找到?是否要给一点引导而不是直接给公式?
3.学生能否识别出爬楼梯与斐波那契是同一模型?可加一道类似的辨别题。
4.递推与递归的对比是否需要在黑板上并列展示一次?
课后记(教师填写):
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)

展开更多......

收起↑

资源预览