[填空题] 在窗体上画—个名为Command1的命令按钮,然后编写如下程序: Private Sub Command1_Click()Dim i As IntegerSum=0n=InputBox("Enter a number")n=Val(n)For i=1 To n Sum= 【12】 Next iPrint Sum End Sub Function fun(t As Integer)As Long p=1 For i=1 To t p=p*i Next i 【13】 End Function 以上程序的功能是,计算1!+2!+3!+...+n!,其中n从键盘输入,请填空。
参考解析:[13]fun=p[知识点] 过程调用[评析] 题目要求计算1!+2!+3!+……+n!,其中求每一项的阶乘可以通过调用函数fun来完成。先定义一个变量i为整型数据,作为循环控制变量,并给Sum变量赋初值,初值为0。由用户输入一个数值赋给变量n,并将变量n的数据类型转换为数值型。循环变量i从1到n之间发生变化,函数fun利用主程序传递过来的参数,最后要求返回该过程计算的值,变量p用来存放n!,所以最后应该返回变量p的值给调用过程,Function过程通过“过程名=表达式”把值赋给“过程名”,所以Function fun中缺少过程返回值语句,应该填写fun=p,表示过程返回变量p的值。要累计每一项的阶乘的和,因此主程序中缺少累计各项阶乘的的语句,每计算一项阶乘,就将它的值累加给变量Sum,所以Sum变量作为一个累计数,在表达式中既要累计和,又要调用函数的命令,即sum+fun(i)。