信息技术《递归法》教案
一、教学目标
1.能够说出递归法的含义和推导过程,并能在具体问题中利用递归思想写出程序代码。
2.通过自主探究和合作学习,提升用递归思想解决问题的能力。
3.通过利用递归法求身高的过程,学会利用递归法写出代码,激发学习程序设计的兴趣。
二、教学重难点
【重点】递归法的含义和推导过程。
【难点】在VB中递归算法的实现。
三、教学过程
(一)导入新课
创设情景:有4个人排成一队,问最后一个人的身高时,他说比第3个人高2厘米;问第3个人的身高时,他说比第2个人高2厘米;问第2个人的身高时,他说比第1个人高2厘米;最后问第1个人的身高,他说是170厘米。提出问题:如何去计算第4个人的身高呢?【利用第1个人身高,求出第2个人身高,并依次推算出第4个人身高】
教师总结:像这种利用一个已知数一步步进行推算的方法,就是递归法。递归法的具体过程又是怎样的呢?本节课就围绕递归法展开教学。
(二)新课讲授
1.递归过程
针对导入的情景,提出问题:
(1)问题的出发点和已知条件分别是什么?【求第4个人身高和第1个人身高】
(2)前后相邻两人在身高上有什么样的数量关系?【H4=H3+2,H3=H2+2,H2=H1+2,H1=170厘米】
(3)根据第一个人的身高,如何求出第4个人的身高?【H1=170厘米,H2=H1+2=172厘米,H3=H2+2=174厘米,H4=H3+2=176厘米】
教师总结:由求第4个人身高的问题转化为求第3个人身高的问题,最后到求第1个人身高的问题,该阶段为递推阶段。从第1个人的已知身高推算出第2个人的身高,一直到推算出第4个人的身高的阶段为返回阶段。递推阶段和返回阶段共同构成递归过程。
教师讲解用n表示第n个人,用函数H(n)表示第n个人的身高,提出问题:
(1)递归的终止条件是什么?【问题的初始条件H(1)=170厘米】
(2)H(n)和H(n-l)的关系是什么?【H(n)=H(n-l)+2】
教师总结:递归法的实现有两部分组成,一是递归的终止条件;二是将原问题转化为与原问题相似的、更接近终止条件的新的问题。
2.VB中递归的实现
教师讲解:明确了递归过程,我们就可以利用递归过程写出VB代码。
布置任务,以信息技术小组为单位,时间5分钟,写出实现求身高问题的VB代码。
Sub H(n As Integer)
If n=1 Then
H=170
Else
H=H(n-1)+2
End If
End Sub
教师总结:把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解就是递归思想。缺点是,当求解问题项数较大时,会大量占用CPU的处理时间和消耗大量内存,所以不适合用递归法。
(三)巩固提高
教师抛出疑问:猴子第一天摘下若干个桃子,当即吃了快一半,还不过瘾,又多吃了一个。第二天又将仅剩下的桃子吃掉了一半,又多吃了一个。以后每天都吃了前一天剩下的一半多一个。到第十天,只剩下一个桃子。试求第一天共摘了多少桃子?学生说出递归过程后写出VB代码。【第十天:1个,第九天:(1+1)*2=4个,第八天:(4+1)*2=10个……第一天:(766+1)*2=1534个】
点评要点:思路是否清晰,推导是否正确等。
Private Sub Form_Load()
Dim n As Integer
Dim num As Integer
num=1
For n=1 To 9
num=(num +1)*2
Next
MsgBox"桃子总共"&num & "个"
End Sub
(四)小结作业
小结:教师提问学生递归程序的执行过程,学生回答出先递推,再返回。
作业:查找除了递归算法,还有哪些算法?
四、板书设计

欢迎关注(中公教育教师考试频道)
及时掌握教师考试信息
回复“2022”领取备考大礼包
声明:本站点发布的来源标注为“中公教育”的文章,版权均属中公教育所有,未经允许不得转载。
如果对你有帮助的话,就点个赞吧!


