内容正文:
《递归算法实现及应用》导学案
[考试要求]
1.递归算法 (c)
[学习目标]
1. 理解递归算法思想。
2. 能正确使用递归思想解决问题。
[自主学习]
1、 知识梳理
1.递归算法是一个过程或函数在其定义中(即 或 体内)调用自身的一种方法。
2.递归算法是程序设计中的常用方法,其基本思想是 。是一种以大化小,以小化了的算法模式。
3.递归算法需要有 ,即当一个问题规模足够小时,能够直接求解。
二、自我检测
1.计算f(n)=1+2+...+n
Function f(n As Integer) As Integer
If n = 1 Then
f = 1 ‘递归边界
Else
‘调用自身
End If
End Function
2.求斐波拉契数列第n项
Function fibo(n As Integer) As Integer
If n < 3 Then
‘递归边界
Else
fibo = fibo(n - 1) + fibo(n - 2) ‘调用自身
End If
End Function
[课堂练习]
1.某如下VB程序:
Private Sub Command1_Click()
Text1.Text=Str(f(4))
End Sub
Function f(n As Integer) As Integer
If n=1 Then f=1 Else f=f(n -1)* n
End Function
若运行该段程序后,标签Textl中显示的值是( )
A.5 B.24 C.36 D. 120
2.猴子摘桃:一群猴子摘了n个桃子,第2天吃了一半后又多吃了一个;以后每天吃剩余的桃子的一半后又再多吃一个;直到第10天,只余下最后一个桃子。请问它们第1天摘了多少个桃子?
Private Sub Co