VB高手们请进,教俺这段代码确切意思。

不要笑话我,我才学VB五天,首先这个代码是计算N的阶乘,
我想知道这个Private Function在这里的具体含义,而且为什么要调用fac(),这是调用计算阶乘的公式,还是调是阶乘的返回数值,这几天学得快,都挤在头脑里了,一时想不起来了。求各位支招。或者整体把这个代码叙述一遍吧。呵,不好意思,我就不赏分了,我是百度新手。没分,哈。。。辛苦了。
Option Base 1
Dim a(40) As Double

Private Function fac(a) As Double
result = 1
For i = 1 To a
result = result * i
Next i
fac = result
End Function

Private Sub Command1_Click()
Cls
n = Val(InputBox请输入N的值", “数值输入", 1))
For i = 1 To n
a(i) = fac(i)
Print i; "!="; a(i)
Next i
End Sub

Option Base 1
Dim a(40) As Double'定义数组a(包含41个元素)内的元素为双精度型

Private Function fac(a) As Double ’自定义fac函数,形式参数是a,函数返回值为双精度型的
result = 1’赋值
For i = 1 To a’使i在1到a之间循环,i每次循环后加一
result = result * i’result=前次的result乘以i。eg:第一次result=1*1,第二次=1*1*2……一直到乘以a所代表的值
Next i’继续下一个循环
fac = result’让函数fac()的值等于求的最后的result的值
End Function’函数定义结束

Private Sub Command1_Click()’当单击command1的时候
Cls’默认窗体清空
n = Val(InputBox请输入N的值", “数值输入", 1))’弹出对话框,标题为数值输入,内容为请输入N的值,默认值为1,最后将输入的数字转化为数值型的
For i = 1 To n’让i从1到n循环
a(i) = fac(i)’让数组a中数组的a(i)的值等于自定义函数fac(a),即形式参数a=i后计算得到的值,计算过程在上面,function那里
Print i; "!="; a(i)’每计算一个,打印i所代表的数字,字符"!=",以及a(i)的值,紧凑格式连接,打印完毕换行
Next i’到下一个i,即i=i+1
End Sub ’程序结束

总的来说就是自定义一个fac函数,这个函数可以求a的阶乘,通过这个函数,把从一到输入的数字的所有阶乘按行打印在form上
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-08
Private Function 自定义函数,Private表示在本模块可以调用,在其他模块不可以调用
fac()返回阶乘计算结果
a(40)数组,用于存放不同的数 阶乘计算结果
相似回答