应用题 2. 在考生文件夹下有一个工程文件sjt4.vbp。该程序的功能是计算M!+(M+1)!+(M+2)!+…+N!之和。窗体上有名称分别为Text1、Text2的两个文本框,用于接收输入的M和N(要求M<N)。单击名称为Command1、标题为“计算”的命令按钮,计算M!+(M+1)!+(M+2)!+…+N!的值,并将计算结果显示在标签lblResult中。
    在给出的窗体文件中已经有了全部控件,但程序不完整,要求去掉程序中的注释符,把程序中的?改为正确的内容。
    注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。
【正确答案】【操作步骤】
   步骤1:打开本题工程文件。
   步骤2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。
   参考答案(字体加粗部分是需考生填入的内容)
   Private Sub Command1_Click()
   Dim m As Integer
   Dim n As Integer
   Dim s As Long
   Dim i As Integer
   m=Val(Text1.Text)
   '将文本框中的字符转换成数值型
   n=Val(Text2.Text)
   s=0
   For i=m To n-m
   t=f(i) '调用函数得到N的阶乘
   s=s+t
   Next
   lblResult.Caption=s
   End Sub
   Private Function f(ByRef x As Integer)As Long 'ByRef为传址传递
   Dim t As Long
   t=1
   For i=1 To x '实现对数值进行阶乘运算
   t=t*i
   Next
   f=t '返回计算结果
   End Function
   步骤3:调试并运行程序,关闭程序后按题目要求存盘。
   【易错提示】程序语句较少,表达式比较复杂,要充分理解过程函数的算法及主函数的循环语句的运用。
   
【答案解析】[考点] 本题考点有:标签的Caption属性、Val()函数和For循环语句。
Function f()过程函数用于实现对数值阶乘的运算,Val()函数实现将文本框中的字符转换成数值型,通过循环调用过程函数实现对表达式结果的累加。