问题 多项选择题

完成下列问题:

在考生目录下有一个工程文件sjt4.vbp,窗体如图5所示。其功能是单击“输入数据”按钮,则可输入一个整数n(要求:8<=n<=12);单击“计算”按钮,则计算1!+2!+3!+…+n!,并将计算结果显示在文本框中;单击“存盘”按钮,则把文本框中的结果保存到考生目录下的out4.dat文件中。


文件中已经给出了所有控件和程序,但程序不完整,在程序中的横线处填写正确的内容,并编写“计算”按钮的Click事件过程。
注意:不得修改已经存在的内容和控件属性,在结束程序运行之前,必须用“存盘”按钮存储计算结果,否则无成绩。最后把修改后的文件按原文件名存盘。
[题目提供的源程序]
Dim n As Integer
Private Sub Command1_Click()
n=Val(InputBox("请输入整数(8-12)", "输入"))
If n> (1) Or n<8 Then
MsgBox("数据错误,请重新输入")
Command2.Enabled=False
Command3.Enabled=False
Else
Command2.Enabled=True
Command3.Enabled=True
End If
End Sub
Private Sub Command2_Click()
Dim s As Long, k As Integer
’考生应编写的程序
End Sub
Function f(n As Integer) As Long
s= (2)
For k=2 To n
s=s*k
Next
f= (3)
End Function
Private Sub Command3_Click()
Open App.Path & "\out4.dat" For Output As #1
Print #1, n, Text1
Close #1
End Sub

答案

参考答案:[操作步骤]
第A步:打开工程文件sjtD.vbp。
第B步:分析并编写程序。
CommandB_Click()事件过程参考程序如下:
Private Sub CommandB_Click(()
Dim s As Long, k As Integer
’考生应编写的程序
s=0
For k=A To n
s=s+f(k)
Next k
TextA=s
End Sud
第C步:调试、运行并保存程序。
[A]AB [B]A [C]s

解析: 程序在Command1_Click过程中通过Val()和InputBox()函数取得输入的值n,如果n不在要求的范围内,则弹出提示对话框,并使Command2和Command3不可用。第[1]个横线位置的表达式应表示出数值不在范围内的条件“大于12或者小于8”,故第[1]个横线处填12。
函数f()的作用是求自然数n的阶乘,算法是:设置变量s,初值为1;通过循环把k值连乘到s上;最后把阶乘值s赋值给函数名f作为函数的返回值。
Command2_Click()事件过程中可运用循环语句的累加实现表达式的求和运算。
Command3_Click()事件过程的作用是实现数据的存盘处理。

判断题
单项选择题