(
课件网) 义务教育信息科技(2024)五年级 第1课时 第六单元 快速遍历数据 五年级下册 第23课 兔子增长有规律(2) 1 2 进一步了解兔子增长的数据递增规律,能够 用流程图描述相应的算法。 能够利用程序验证兔子增长问题的算法,体 会算法与程序的对应关系。 学习目标 第23课 课堂导入 这一课继续探究“兔子增长问题”,通过用流程图描述算法,并用程序进行验证,感受用算法解决问题的基本过程。 一起来继续探索吧! 知识激趣 学习活动 一 用流程图描述兔子增长算法 二 用程序验证兔子增长算法 第23课 学习活动 一、用流程图描述兔子增长算法 第23课 学习活动 问题回顾 1月,农场里有一对小兔; 2月,这对小兔长成一对大兔; 3月,这对大兔生了一对小兔,这时农场里有2对兔; 4月,大兔又生了一对小兔,上个月的小兔长成了大兔,这时农场里有3对兔; 5月,两对大兔各生了一对小兔,上个月的小兔长成了大兔,这时农场里有5对兔; 以此类推……直到12月。 到12月的时候,假设兔都活着,那么农场里有多少对兔? 算法回顾 第23课 学习活动 一、用流程图描述兔子增长算法 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] 的值。 用流程图描述 第23课 学习活动 一、用流程图描述兔子增长算法 打开参考程序,观察、运行,分析程序与算法的对应关系。 运行程序 第23课 学习活动 二、用程序验证兔子增长算法 F = [0,1,1] n=3 while n <= 12: F = F+[0] F[n] = F[n-1]+F[n-2] n = n+1 print("第12个月的兔子数量是:",F[12]) #把1月、2月兔的数量放入列表,第0项设为0 #设置要计算的起始月份 #如果月份数n小于等于12,就进入循环 #为列表增加一项,默认值为0 #计算当前月份兔的数量 #月份数增加1,继续计算 #输出计算结果 因为 Python 的列表从第 0 项开始,因此这里先把第 0 项设为 0,第 1 个月、第 2 个月兔的数量分别设为 1,并从第 3 个月开始计算,直到第 12 个月。应关系。 第23课 学习活动 二、用程序验证兔子增长算法 “F = F + [0]”表示为名为 F 的列表增加一项,默认值为 0,用于存储将要计算月份兔的数量。 第23课 学习活动 二、用程序验证兔子增长算法 以上求解的兔子农场问题就是经典的斐波那契数列问题。 意大利数学家莱昂纳多·斐波那契(Leonardo Fibonacci)在1202年所著的《计算之书》中,提出了有趣的兔子问题。 书中是这样描述这个问题的:一般而言,兔子在出生两个月之后,就会有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有的兔子都活着,那么一年以后可以繁殖多少对兔子? 二、用程序验证兔子增长算法 第23课 学习活动 了解斐波那契数列 斐波那契数列指的是这样一组数: 1、1、2、3、5、8、13、21、34、55、89…… 这组数从第3个数开始,每一个数都等于前两个数之和。这组数因以兔子繁殖为例子而引入,故被称为兔子数列。 了解斐波那契数列 第23课 学习活动 二、用程序验证兔子增长算法 1.依据用自然语言描述的算法画出相应的流程图,可以更加直观地理解算法。 2.依据算法编写程序进行验证时,可以采用不同的程序语言、不同的实现方法。 3.日常生活与学习中,只要用心观察,会发现有许多利用递推思维来思考并解决问题的例子。 第23课 课堂总结 1.配套资源中有上一课“兔子跳台阶问题”的 ... ...