视频标签:从裴波那契,兔子问题,递归算法
所属栏目:信息技术优质课视频
视频课题:粤教版高中信息技术选修1算法与程序设计4.5.1从裴波那契的兔子问题看递归算法-安徽省 - 合肥
本视频配套资料的教学设计、课件 /课堂实录及教案下载可联本站系客服
4.5.1 从裴波那契的兔子问题看递归算法
【教材分析】
“4.5.1 从裴波那契的兔子问题看递归算法”是广东教育出版社《算法与程序设计》选修模块第四章的内容。前面学习了用解析法解决问题、穷举法解决问题等,用递归法编写的程序具有结构清晰,可读性强等优点,在编程中被广泛应用,学好递归对于学生以后深入学习程序设计有莫大帮助,所以本节课是本章重点讲解的一部分内容。由于所选案例与高中数学紧密结合且趣味性较强,所以本节知识对学生具有一定吸引力。
【学情分析】
教学对象是高中一年级学生,前面学习了程序设计的各种结构,在学习程序设计各种结构的应用过程中的培养了用计算机编程解决现实中的问题。在学习过程中体会递归算法的思想过程,多维度的思考问题和解决问题是提高学生的学习兴趣关键。
【教学目标】
知识与技能:
1、理解什么是递归算法,学生用递归算法的思想分析问题。
2、能够应用自定义函数方法实现递归算法的编程。 3、理解递归法解决问题的优缺点。
过程与方法:通过情境体验,加深对递归法解决问题过程的理解。
情感态度与价值观:结合数学中的实例,培养学生多维度的思考问题和解决问题。
【教学重点与难点】
重点:理解什么是递归算法,用递归算法的思想分析解决问题。 应用自定义函数方法实现递归算法的编程
难点:应用自定义函数方法实现递归算法的编程
【教学方法】
情境教学法、任务驱动法
【教学过程】 进程
教师活动
学生活动
设计意图 创设情境 课堂导入:
兔子的繁殖问题:如果一开始有一对兔子,它们每月生
使用情境教学
法
育一对兔子,小兔在出生后一个月又开始生育且繁殖情况与最初的那对兔子一样,那么一年后有多少对兔子?(假设兔子没有死亡而且严格按照上述规律长大与繁殖) 回答计算的结果,并简单阐述解题过程 讨论活动过程,总结游戏规则,了解活动规律,并将活
动过程进行算法描述
在此活动过程中能让学生初步走进了递归
的思维模式,为进一步学习递归算法埋下伏笔 分析问题 师: 兔子的数目随着时间会增长的越来越快,只用列表的方法就会有困难,我们需要研究表中的规律,找出一般的方法,去解决这个问题。
分析问题 确定方案,培养学生思维程序化,为下面新学习递归算法做好移植准备 学习新知 假设第n个月的兔子数目为f(n),
那么f(n)=F(n-1)+f(n-2) 当n≥3,
f(1)=f(2)=1
1、鼓励学生进行讨论,共同寻找答案或解决方法 2、师生共同分析
设计算法 讨论、比较、分析、归纳 尊重学生的个体发展,让学生进行自主探
究学 习,使用学主动、积极的学习新知识,培养他们的自学能力。
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368斐波那契数列,播放视频。 欣赏由斐波那契数列构成乐谱的视频 培养学生在生活学习中发现美的能力
递归算法:函数不断引用自身,直到引用的对象已知,否则,会成为死循环而不能正常结束。思路清晰,代码少。 演示递归算法在计算机中被执行的过程。 分析递归算法的实现过程 示图协助学生
理解递归算法在计算机中被
执行的过程。
编写程序 Function Fib(ByVal N As Integer) As Long If N < 3 Then Fib = 1 Else: Fib = Fib(N - 1) + Fib(N - 2) End Function Private Sub Command1_Click() N = Val(Text1.Text)
Text2.Text = "第" & N & "月的兔子对数是:" & Fib(N)
End Sub
学生学习由算法到编程实现 培养学生的编
程能力,让学
生获得成功的
体检
调试程序
调试程序
培养学生的调试能力,让学
生获得成功的体检 任务探究1 布置任务1:完成学习资源包中的任务1 调试时,用两个值,一个12,一个40,比较计算机得出结果所用时间。 完成学习资源包中的任务1,进一步理解用递归算法时计算机执行效率。 通过两种算法的对比,让学生深入体会递
归算法的魅力。加深对本节课所学知识的理解。 任务
探究2
布置任务2:完成学习资源包中的任务2
完成学习资源包中的任务2,体验不同算法执行效率。完成任务2和任务3。
课堂小结 我们今天所学习用两个关键词概况,“斐波那契数列”,“递归算法”。 师生讨论,共同小结: 1、斐波那契数列 2、递归算法是数值层层调用实现的,函数先由上向下调用,
当达到最底层后,再将函数值层层向上返回。(递下去,收回来,简称:递归)
3、必须有个结束条件(有个该收回来的条件)
学生讨论 达成共识 培养学生分析
问题、归纳、梳理知识的能力。
4、可读性强
5、计算机资源耗费大,所以效率比较底(常驻内存的数据比较多) 布置作业
任务4:在VB语言环境下用递归算法求n!
巩固和发展本节课的学习内
容。
【教学反思】
从兔子问题导入活动,充分的调动学生的思维,渐渐的走入了“递归的思维”模式,引出斐波那契数列,让学生从不同角度如音乐的方式去欣赏斐波那契数列。展示递归算法在计算机中实现的过程,使用不同的算法去解决问题,进而比较使用递归算法计算机资源的耗费高,效率低。
视频来源:优质课网 www.youzhik.com