【VB教学】函数与递归
一、教学目的:
(1)、认识函数,会编写简单函数
(2)、理解递归的过程,能看懂递归函数
二、教学思路:
(1)、用VB自带函数引入自定义函数
(2)、尽量把递归函数简单化
三、教学过程
(1)、导入
VB中有很多自带的函数,如int、sqr等
d = Sqr(b * b - 4 * a * c)
b=int(7.6)
b=int(a)
Print Abs(x - y)
我们只要输入一个参数,就可以返回值。
总结:函数有三部分组成1、函数名 2、参数(7.6 ,a) 3、返回值
(2)、讲解自定义函数,以及自定义函数的优点
Private Function area(x As Single) As Single
Const pi = 3.14159
area = x * x * pi
End Function
Private sub command1_click
dim r as single
dim s as single
r=val(text1.text)
s=area(r)
print s;
end sub
(3)、引入递归
如果有个函数求fac阶乘的,那么fac(5)=5*fac(4),
Private Function fac (n as integer) As integer
fac = n*fac(n-1)
End Function
对于一个递归定义而已,除了要定义递归的方式(即如何递归)外,还必须定义递归的终止条件(即如何停止递归),否则递归将永无止境的进行下去。
fac(n)=n*fac(n-1) (n>1)
fac(n)=1 (n=1)
递归函数的要点:
1、要有一个递推表达式(例如:f(n)=f(n-1)*n)
2、递归结束的条件(n=1时,f=1),又称为边界条件。
(4)、学生作业
- 斐波那契数列
- 计算阶乘
- 数列求和
- 圆环面积
四、反思
1、需要让学生理解函数调用的过程
2、递归比较难懂,可以从小时候听到的故事(从前有座山讲起)
五、学生作业