例:编写一个函数过程,求n!的值 Public Function fac(n As Integer)As Integer k=1 a Form1 For i=1 To n 输入:6 输出:873 算 Next i fac=k End function
Public Function fac(n As Integer) As Integer k = 1 For i = 1 To n k = k * i Next i fac = k End Function 例:编写一个函数过程,求n!的值
s82.1函数过程的定义及调用 3丽数的调用 格式如下 格式1:变量=过程名([实参表]) 格式2:CALL过程名(实参) 格式3:过程名实参 说明:通常用第一种格式比较多,用后两种方法调用 函数时VB放弃函数的返回值
格式如下: 格式1:变量 = 过程名([实参表]) 格式2:CALL 过程名(实参) 格式3:过程名 实参 说明:通常用第一种格式比较多,用后两种方法调用 函数时VB放弃函数的返回值。 §8.2.1 函数过程的定义及调用
§8.2.1函数过程的定义及调用 3丽数的调用 与前面使用的标准函数的调用相同,出现在赋值号的右侧 .e 2 格式:函数名([实参列表]) S3 tH Public Function area(x!, y!, z! )As Single C=0.5*(x+y+z) area=sar(c*(c-x)*(c-y)*(c-z)) End function t Private Sub Form Click a=5:b=4:c=3:d=3 e=4:f=5 s1=area(a, b, c) s2=area(c, d, e End Sub
§8.2.1 函数过程的定义及调用 与前面使用的标准函数的调用相同,出现在赋值号的右侧 格式:函数名([实参列表]) • 函数过程不能作为独立语句使用调用,必须与其他 成分结合使用 • 实参列表中的参数个数、位置和类型与形参一一对 应 如: Public Function area(x!,y!,z!) As Single c=0.5*(x+y+z) area=sqr(c*(c-x)*(c-y)*(c-z)) End Function 如:Private Sub Form _ Click() a=5 : b=4 : c=3 : d=3 e=4 : f=5 : g=4 s1=area(a,b,c) s2=area(c,d,e) End Sub a b c g e d
过程调用的参数传递关系: Private Sub Form Click o dima!,b,cl,sl!实际参数 a=5:b=4:c=3 sl=area(a, ,b print s1+s2+s3 形式参数 End Sub Public Function area(x! y !)As Single c=0.5*(x+y+z) area=bqr(c*(c-x)*(c-y)*(c-z)) End function
• 过程调用的参数传递关系: Public Function As Single c=0.5*(x+y+z) area=sqr(c*(c-x)*(c-y)*(c-z)) End Function Private Sub Form _ Click() dim a!,b!,c!,s1! a = 5:b = 4:c = 3 s1= …… print s1+s2+s3 End Sub 实际参数 形式参数
例:求1!1~n!之和 Form1 Public Function fac(n%)As Integer 输入: fac=1 For i=l ton 输出:873 算 fac fac *i Next i End Function 分析 (1)函数过程 Private Sub Command1 Click Dim sum as integer, k As integer 完成求任一数n (2) Command1 click中: For k=1 To 5 Sum= Sum+ fac(k) 各阶乘值的累加,和 Next 函数调用及输出 print Sum
例:求1!~n!之和 Dim sum as integer,k As integer For k = 1 To 5 Next print Sum Private Sub Command1_Click() 分析: (1)函数过程: 完成求任一数n! (2)Command1_Click中: 各阶乘值的累加,和 函数调用及输出