(
课件网) (义务教育版)五年级 全一册 第23课 兔子增长有规律(2) 学习目标 激趣导入 学习活动 思考-讨论 实践探究 课堂小结 拓展-提升 单元主题 单元主题 单元名称 课名称 核心内容 第六单元 快速遍历数据 第21 课 鸡兔同笼巧计算 鸡兔同笼问题的不同求解方法,算法验证与实现。 第 22 课 兔子增长有规律(1) 用列表法呈现兔子增长的数据变化,用算法表示一列数据的递推规律。 第 23 课 兔子增长有规律(2) 用流程图描述兔子增长的算法,算法验证与实现。 学习目标 激趣导入 【上节回顾———兔子农场”】 1 月,农场里有一对小兔; 2 月,这对小兔长成一对大兔; 3 月,这对大兔生了一对小兔,这时农场里有 2 对兔; 4 月,大兔又生了一对小兔,上个月的小兔长成了大兔,这时农场里有3 对兔; 5 月,两对大兔各生了一对小兔,上个月的小兔长成了大兔,这时农场里有 5 对兔; 以此类推……直到 12 月。 激趣导入 【“兔子农场”问题算法———自然语言描述】 1. F[1] 和 F[2] 的初始值都设为 1,表示 1 月和 2 月的兔数量。 2. 用循环变量n表示月份,初始值设为 3,表示从 3 月开始计算。 3. 建立以下循环结构: (1)如果n <=12,就进入循环; F[n] = F[n-1] + F[n-2] 即 F[3] = F[2]+F[1],F[4] = F[3]+F[2],F[5] = F[4]+F[3]…… (2)将n加 1,继续循环。 4. 当n >12 时,结束循环。 5. 输出 F[12] 的值。 激趣导入 【试一试】 同学们,你们能尝试用流程图描述兔子增长的算法吗? 学习活动 学习活动 活动1:用流程图描述兔子增长算法 一 学习活动 一、用流程图描述兔子增长算法 【小试牛刀】 请尝试用流程图描述兔子增长的算法。 学习活动 一、用流程图描述兔子增长算法 学习活动 活动2:用程序验证兔子增长算法 二 学习活动 二、用程序验证兔子增长算法 打开参考程序,观察、运行,分析程序与算法的对应关系。 学习活动 二、用程序验证兔子增长算法 【知识链接】 以上求解的问题就是斐波那契数列问题,这组数因以兔子繁殖为例而引入,故又被称为兔子数列。 意大利数学家莱昂纳多·斐波那契(Leonardo Fibonacci)在1202 年所著的《计算之书》中,提出了有趣的兔子增长问题,书中这样描述:一般而言,兔在出生两个月之后,就会有繁殖能力,一对大兔每个月能生出一对小兔。如果所有的兔都活着,那么一年以后可以繁殖多少对兔? 斐波那契数列指的是这样一组数:1、1、2、3、5、8、13、21、34、55、89…… 这组数从第 3 个数开始,每一个数都等于前两个数之和。 学习活动 活动3:实践探究 三 实践探究 三、实践探究 【试一试】 打开并运行“兔子跳台阶问题”的参考程序。输入不同的台阶总数,观察输出结果,体会数据的变化规律。 实践探究 def climb_stairs(n): if n == 1: return 1 elif n == 2: return 2 dp = [0] * (n + 1) dp[1] = 1 dp[2] = 2 for i in range(3, n + 1): dp[i] = dp[i - 1] + dp[i - 2] return dp[n] if __name__ == "__main__": try: steps = int(input("请输入台阶的数量:")) result = climb_stairs(steps) print(f"兔子跳完{steps}级台阶共有{result}种不同的跳法。") except ValueError: print("输入的内容不是有效的整数,请重新输入整数类型的台阶数量。") 课堂小结 2 用程序验证兔子增长算法 3 实践探究 1 用流程图描述兔子增长算法 把自然语言描述的算法转化为流程图 使用 Python 的列表来实现 拓展-提升 阅读下面的内容,了解自然界中一些符合斐波那契数列的独特现象。 斐波那契数列存在于许多自然现象之中。 例如,有些树木的生长,由于新生的枝条往往需要一段休息时间,供自身生长,而后才能萌发新枝。所以一株树苗会在间隔 ... ...