浙教版信息技术选修1 5.5 递归算法实例及程序实现1 教案

文档属性

名称 浙教版信息技术选修1 5.5 递归算法实例及程序实现1 教案
格式 docx
文件大小 39.2KB
资源类型 教案
版本资源 浙教版
科目 信息技术(信息科技)
更新时间 2021-01-12 14:35:30

图片预览

文档简介

递归算法
【教材分析】
本节课学生学习的递归算法是选考算法部分的最后一个算法。递归算法是在学习自定义函数的基础上,用程序实现自定义函数的一种具体的应用。
【学情分析】
学生已经学习了算法的各种结构,能够用各种结构来解决问题。特别在学习循环语句的过程中,应用了大量的“递推”思想。在自定义函数的基础上,体会自定义函数的应用。
【教学目标】
1.知识与技能目标
理解什么是递归算法,学会用递归算法的思想分析问题
能够应用自定义函数方法实现递归
2.过程与方法目标
通过讨论、思考、练习,体验递归算法的方法
3.情感态度价值观目标
通过教学中的实例,激发学生的数学建模意识,培养学生多维度思考问题和解决问题的能力
【教学重难点】
重点: 理解什么是递归算法;用递归算法的思想分析问题; 应用自定义函数方法实现递归算
难点: 应用自定义函数方法实现递归算法的编程
【教学过程】
一、提出递归现象,引入课题
四个简短的例子
例子1:讲故事:从前有座山,山上有座庙……
例子2:德斯特罗效应
例子3:修身齐家治国平天下的古训
例子4:查词典
四个例子之间的对比找不同
递归现象引导向递归算法
二、新课讲授,实例体验
1.递归的介绍
PPT展示,递归的两种调用:直接调用和间接调用
递归算法的核心思想:递归关系,递归终止条件。
具体如何实现调用由计算机解决
2.递归实例讲解
1).求正整数阶乘问题。
5!=5*4*3*2*1=5*4!
4!=4*3*2*1=4*3!
3!=3*2*1=3*2!
2!=2*1=2*1!
1!=1
推出:1:对于任意一个整数n (n>1):
n!=n*(n-1)!
2:终止条件 n=1
1!=1
编写算法:
Function jc(n as integer) as integer
If n =1 then
jc=1
else
jc=n*jc(n-1)
End if
End function
递归的核心思想:“大事化小、小事化了”
2).求年龄问题。
终止条件:第一个人10岁
递归关系:每一个人的年龄都比其前1个人的年龄大
Function age (n as Integer)as Integer
If n=1 then
age =10
Else
age=age(n-1)+2
End if
End Function
3.习题巩固
习题1:斐波那契数列问题
习题2:小猴吃桃问题
习题3:求最大公约数
三,课堂小结,完善作品,提交评价
课堂小结:
递归算法实现的要点
递归调用必须是有限制的,有限才有意义。构成递归的必须满足以下条件:
(1)有明确的结束递归的边界条件(又称终止条件)以及结束时的边界值;通过条件语句(If语句)来实现
(2)函数的描述中包含其本身,即能用递归形式表示