📋课程基本信息
| 项目 | 内容 |
|---|---|
| 课程名称 | 第X课 斐波那契的兔子农场——小航养兔记 |
| 授课对象 | 小学四年级学生(C++入门阶段,有变量、if/else、for循环基础) |
| 课程时长 | 120分钟(2课时) |
| 教学方法 | 故事驱动(小航养兔)+ 可视化演示(兔子数量增长)+ 代码填空(递推程序) |
| 核心知识 | 变量与赋值、for循环、变量更新递推(c=a+b; a=b; b=c)、整数运算、if边界判断 |
| GESP级别 | 一级~二级(不使用数组、不使用自定义函数) |
🎯教学目标
知识与技能
- 理解斐波那契数列的来源:兔子繁殖问题
- 掌握递推思想:当前月 = 前一个月 + 前两个月
- 理解变量更新顺序:c=a+b; a=b; b=c 的含义和顺序重要性
- 能完成代码填空,用for循环模拟N个月后兔子总数
- 掌握if边界判断:第1、2个月的特殊处理
过程与方法
- 通过兔子繁殖故事,亲身体验递推数列的生成过程
- 通过变量更新可视化,理解"滑动窗口"式递推
- 通过代码填空,建立递推公式与代码实现的对应关系
情感态度与价值观
- 感受数学之美——斐波那契数列与黄金比例、自然界的联系
- 培养递推思维——从已知推未知,从过去推未来
- 在故事和互动中激发对算法和数学的兴趣
📊4C1E 整体设计
| 环节 | 核心活动 | 学生任务 |
|---|---|---|
| 联系 | 兔子农场故事引入 → 兔子繁殖规律讨论 → 递推概念 → 生活中的递推(细胞分裂、浮萍生长) | 参与讨论,发现繁殖规律 |
| 建构 | 变量设计(a/b/c) → 递推公式c=a+b → 变量更新a=b;b=c → for循环实现 → 代码填空 | 理解递推,完成代码填空 |
| 反思 | 斐波那契数列规律讨论 → 黄金比例0.618 → 自然界中的斐波那契(向日葵、鹦鹉螺)→ 常见错误 | 深度思考,理解递推本质 |
| 延续 | 分层作业(基础/提高/挑战)→ 拓展任务(密码保护答案)→ 下节课预告 | 课后巩固,拓展提升 |
| 评价 | 课堂小测(5选择+3判断)→ 学习反馈 → 知识点回顾 | 检测学习效果 |
🔗C1 联系 Connection(25分钟)
1. 故事引入:小航养兔子(8分钟)
小航从宠物市场买了一对小兔子(一公一母),带回家养在农场里。兔子很可爱,小航每天都去看它们。
老师提问引导:小兔子刚买回来的时候还不能生宝宝,要长大才行。大家猜一猜,兔子多久能长大?多久能生宝宝?
① 第1个月:小兔子刚出生,还没长大(幼兔)
② 第2个月:兔子长大了,可以繁殖了(成年兔)
③ 第3个月:成年兔开始生宝宝,每月生一对小兔子
④ 新生的小兔子也要经过"第1月幼兔→第2月成年→第3月开始繁殖"的过程
2. 兔子繁殖规律讨论(10分钟)
和学生一起逐月推演:
| 月份 | 成年兔对数 | 新生兔对数 | 总对数 | 说明 |
|---|---|---|---|---|
| 第1月 | 0 | 1 | 1 | 买了一对小兔子 |
| 第2月 | 1 | 0 | 1 | 兔子长大了 |
| 第3月 | 1 | 1 | 2 | 成年兔生了一对宝宝 |
| 第4月 | 2 | 1 | 3 | 原来的成年兔又生一对,上月宝宝长大 |
| 第5月 | 3 | 2 | 5 | 2对成年兔各生一对 |
| 第6月 | 5 | 3 | 8 | 3对成年兔各生一对 |
3. 递推概念与生活实例(7分钟)
- 细胞分裂:1个细胞分裂成2个,2个变4个,4个变8个……
- 浮萍生长:池塘里的浮萍每天面积翻倍,几天后覆盖整个池塘?
- 爬楼梯:每次上1级或2级,上到第10级有多少种走法?
- 存款利息:本金加上利息,下个月的本金 = 上个月本金 + 利息
🏗️C2 建构 Construction(45分钟)
1. 变量设计(8分钟)
根据递推公式 f(n) = f(n-1) + f(n-2),我们需要记录三个值:
• a:上上个月的兔子对数(初始=1,第1个月)
• b:上个月的兔子对数(初始=1,第2个月)
• c:当月的兔子对数(临时变量,每次计算用)
• n:用户输入的月份数
为什么需要三个变量?因为递推需要知道前两个月的值。计算完当月后,要把a和b"往后挪"一个月,才能继续算下个月。
2. 递推公式与变量更新(12分钟)
核心公式:
必须先算c=a+b,再a=b,再b=c!
如果先a=b,那a原来的值就丢了!c=a+b就变成了c=b+b,结果错误。
就像排队换人:先用旧的a和b算出新c,然后a退休由b接替,b退休由c接替。顺序不能乱!
用具体例子演示(第3个月):
- 初始:a=1(第1月),b=1(第2月)
- c = a + b = 1 + 1 = 2(第3月有2对)
- a = b = 1(现在a代表第2月)
- b = c = 2(现在b代表第3月)
- 下一轮:c = 1 + 2 = 3(第4月有3对)✓
3. for循环与边界判断(10分钟)
什么时候开始循环?第1个月和第2个月都是1对,不需要计算。从第3个月开始才需要递推。
4. 代码填空:兔子农场模拟器(15分钟)
场景:小航写了一个程序,输入月份数n,程序自动算出n个月后有多少对兔子。
填空答案:①1 ②1 ③== ④3 ⑤a+b ⑥b ⑦c
🤔C3 反思 Contemplation(20分钟)
1. 斐波那契数列规律讨论(7分钟)
把每个月的兔子数列出来:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144...
- 这就是著名的斐波那契数列!
- 规律:从第3项开始,每一项 = 前两项之和
- 增长速度:越来越快!12个月后有144对,20个月后有6765对,30个月后有832040对!
- 这种增长叫"指数增长"——一开始慢,后来越来越快
2. 黄金比例0.618(7分钟)
让学生算一算相邻两项的比值:
| 前项/后项 | 比值 |
|---|---|
| 1/1 | 1.000 |
| 1/2 | 0.500 |
| 2/3 | 0.667 |
| 3/5 | 0.600 |
| 5/8 | 0.625 |
| 8/13 | 0.615 |
| 13/21 | 0.619 |
| 21/34 | 0.618 |
| 34/55 | 0.618 |
3. 自然界中的斐波那契(3分钟)
- 向日葵种子:顺时针和逆时针的螺旋线数量,往往是相邻的斐波那契数(如34和55)
- 鹦鹉螺壳:生长曲线接近黄金螺旋
- 花瓣数量:百合3瓣、毛茛5瓣、翠雀8瓣、万寿菊13瓣——都是斐波那契数
- 树枝分叉:树枝的生长方式也符合斐波那契规律
4. 常见错误总结(3分钟)
① 变量更新顺序错误:先a=b再c=a+b,导致a原值丢失,结果错误
② for循环起始值错误:从i=1开始循环,导致前两个月被重复计算
③ 忘记if边界判断:n=1或n=2时直接进入循环,结果不对
④ if条件写错:n==1||n==2写成n=1(赋值号=而非等号==)
⑤ 输出错误变量:循环结束后输出c而不是b(最后一轮c=b,但中间过程要注意)
🚀C4 延续 Continuance(15分钟)
1. 分层课后任务
| 层次 | 任务内容 | 目标 |
|---|---|---|
| 基础题 | ①完成课堂代码填空,运行截图提交;②测试n=10时输出55,验证正确性 | 巩固核心递推代码 |
| 提高题 | 修改程序,输出前N个月每个月的兔子数(用循环逐月输出) | 理解递推过程 |
| 挑战题 | 在输出兔子数后,额外输出相邻两项的比值(b/c),观察它如何趋近0.618 | 探索黄金比例 |
2. 拓展任务(密码保护答案)
拓展任务:在原程序基础上,①输出前N个月所有月份的兔子数;②计算相邻两项比值并观察趋近黄金比例。答案解析通过密码访问(密码课后发给家长)。
3. 下节课预告
下节课我们将学习while循环和break语句,制作一个"猜数字游戏"——用电脑猜你心里想的数字!斐波那契数列中学习的递推思维,将帮助你理解更复杂的算法。
📝E 评价 Evaluation(15分钟)
1. 课堂小测(10分钟)
5道难度递增的选择题 + 3道判断题,限时完成。覆盖:斐波那契数列概念、递推公式、变量更新顺序、for循环边界、if条件判断。
2. 学习反馈(3分钟)
请学生用一句话总结"兔子数量为什么越来越多",或提出一个还没弄懂的问题。
3. 知识点回顾(2分钟)
🧠本节课知识点体系总览
本节课共涵盖 3大模块、12个核心知识点,其中 重点 标注的为必须掌握的核心内容。
1. 兔子繁殖规则 重点
兔子出生后第2个月成年,第3个月开始每月生一对小兔子。每对新生兔子也按同样规律繁殖。
2. 斐波那契数列 重点
1,1,2,3,5,8,13,21,34,55,89,144...从第3项起,每一项等于前两项之和。
3. 递推思想
知道前两个状态,就能推出下一个状态。像爬楼梯一样,一步一步推下去,不需要记住所有历史。
4. 生活中的递推
细胞分裂、浮萍生长、爬楼梯走法、银行利息等,都是递推思想的实际应用。
5. 三个变量a/b/c 重点
a存上上个月值,b存上个月值,c是临时变量存当月值。三个变量像"滑动窗口"一样往后移。
6. 递推公式c=a+b 重点
当月兔子数 = 上上个月 + 上个月。因为上个月的兔子都在,上上个月的成年兔都能生宝宝。
7. 变量更新顺序 重点
必须先算c=a+b,再a=b,再b=c。顺序不能乱!否则a原来的值会丢失。
8. for循环实现
从第3个月开始循环,每次算一个月。循环变量i从3到n,每次i++。
9. if边界判断 重点
n=1或n=2时直接输出1对,不需要进入循环。因为前两个月都是1,没有递推关系。
10. 初始值设置
a=1(第1个月),b=1(第2个月)。前两个月都是1对兔子。
11. 输出结果
循环结束后输出b,因为b已经被更新为第n个月的兔子数。
12. 黄金比例
相邻两项的比值(前项/后项)越来越接近0.618,即黄金比例。自然界中广泛存在。
🎯 本节课5大重点知识
① 斐波那契数列(1,1,2,3,5,8...每项=前两项之和)
② 递推公式(c=a+b,当月=前两个月之和)
③ 变量更新顺序(c=a+b → a=b → b=c,顺序不能乱)
④ if边界判断(n=1或2直接输出1,否则进入for循环)
⑤ for循环起点(从i=3开始,到i<=n结束)
📝完整代码参考(兔子农场模拟器)
运行示例
变量跟踪表(n=6)
| 循环轮次 | i | a(上上月) | b(上月) | c=当月 | 更新后a | 更新后b |
|---|---|---|---|---|---|---|
| 初始 | - | 1(第1月) | 1(第2月) | - | - | - |
| 第1轮 | 3 | 1 | 1 | 2 | 1 | 2 |
| 第2轮 | 4 | 1 | 2 | 3 | 2 | 3 |
| 第3轮 | 5 | 2 | 3 | 5 | 3 | 5 |
| 第4轮 | 6 | 3 | 5 | 8 | 5 | 8 |
💡可拓展授课知识点与思路
拓展A:输出每个月的兔子数
在for循环内每月都输出一次结果,让学生看到1,1,2,3,5,8...的完整序列。可以在循环体内加cout输出当前i月和b的值。这是提高题,帮助学生理解递推过程。
拓展B:黄金比例探索
让学生在循环内输出b/c的比值(注意要转成浮点数),观察比值如何从1.0→0.5→0.667→0.6→0.625→0.615...逐渐趋近0.618。用整数除法会得到0,需要用1.0*b/c转浮点。这是挑战题。
拓展C:递推vs递归
简单介绍递归概念:f(n)=f(n-1)+f(n-2)直接写成函数自己调用自己。但递归会重复计算很多次,效率低。我们用三个变量递推的方法效率高得多。为后续学习递归做铺垫。
拓展D:故意写bug让学生debug
故意把变量更新顺序写反(a=b在前,c=a+b在后),让学生运行后发现结果不对,分析为什么。重点让学生理解"顺序"在赋值语句中的重要性。
拓展E:斐波那契数列的大自然
展示向日葵种子螺旋、鹦鹉螺壳、花瓣数量等图片,让学生感受数学之美。可以让学生课后观察生活中有没有斐波那契数列的例子。
拓展F:兔子问题的历史
介绍斐波那契是800年前意大利数学家,他在《算盘全书》中提出了这个兔子问题。这个数列后来被发现广泛存在于自然界和艺术中,被称为"大自然的密码"。
📐板书设计
第4月:3对 第5月:5对 第6月:8对...
规律:当月 = 上月 + 上上月
c = a + b; // 算当月
a = b; // 后移一个月
b = c; // 后移一个月
else for(i=3; i<=n; i++) 递推
相邻比值 → 0.618 黄金比例
⚠️教学注意事项与常见问题
时间把控
兔子繁殖规律讨论环节学生可能很兴奋,控制在10分钟内。代码填空环节给足12-15分钟,不要催促。黄金比例讨论可以作为延伸,不要花太多时间。
概念难度
递推思想本身不难理解,但"变量更新顺序"是最大难点。一定要用具体例子(第3个月、第4个月)逐步演示a和b怎么变化,让学生看到"滑动窗口"的效果。
代码填空设计
7个填空点覆盖:a初始值、b初始值、if条件、for起始值、c=a+b、a=b、b=c。重点填递推核心步骤,语法细节预先写好。
易错点强调
必须反复强调"a=b; b=c"的顺序——这是学生最容易犯的错误。可以现场演示顺序写反时结果会怎样(变成c=2*b,数列变成1,1,2,4,8...错误)。同时强调for从i=3开始,不是i=1。
硬件准备
确保每台电脑C++编译环境正常,课前测试运行无误。可以准备兔子玩偶或图片辅助故事引入。
差异化教学
理解较慢的学生可以提供"半完成代码",只填3-4个空(c=a+b, a=b, b=c三个核心);学有余力的学生布置输出每月数据、黄金比例等拓展任务。
📊评价标准
| 评价维度 | 优秀(A) | 良好(B) | 需努力(C) |
|---|---|---|---|
| 递推概念 | 能准确说出f(n)=f(n-1)+f(n-2),解释为什么 | 能说出基本规律,理解大概思路 | 对递推概念模糊 |
| 变量更新 | 理解a=b;b=c顺序的重要性,能解释顺序写反的后果 | 能正确写更新代码,但说不清原因 | 变量更新经常出错或顺序混乱 |
| 代码实现 | 独立完成所有填空,代码运行正确,理解if边界和for起点 | 能完成大部分填空,少量错误需提示 | 填空困难,需要大量帮助 |
| 课堂参与 | 积极参与兔子繁殖讨论,主动思考和提问 | 能参与课堂活动,偶尔发言 | 参与度低 |
📝 课堂点评(家长端)
🔄教学反思(课后填写)
1. 兔子繁殖规律讨论效果如何?学生是否理解"当月=上月+上上月"?
(课后记录)
2. 变量更新顺序a=b;b=c学生理解了吗?是否需要更多例子?
(课后记录)
3. 代码填空完成度如何?哪个空错误率最高?
(课后记录)
4. 下节课需要复习或补充什么内容?
(课后记录)