在考生文件夹下有一个工程文件sjt5.vbp,窗体上有两个命令按钮和一个文本框,命令按钮的名称分别为Cmd1和Cmd2,标题分别为“计算”和“存盘”,文本框为空,如图3—1所示。程序的功能是在运行时,单击“计算”命令按钮,系统随机产生20个只有两位数的正整数,将其存入到一个数组中,再将这20个数相加的结果在文本框中显示出来。单击“存盘”命令按钮,将相加的结果存入“out5.txt”文件中。
要求:去掉程序中的注释符,把程序中的改为正确的内容,使其实现上述功能。注意:不能修改程序中的其他部分,也不能修改控件的其他属性。最后把修改后的程序以原文件名存盘。sjt5.frm文件内容如下: Option Base1 Dim sum As Integer Private Sub Cmd1_ClickO Dim art(20)As Integer ’Dim f1 As Randomize arr(1)=Int (Rnd * 90)+10 ’sum= For i=2 To 20 Do a=Int(Rnd * 90)+10 ’f1= For j=1 To i—1If arr(j)=a Then f1=True:Exit For Next j Loop While f1 arr(i)=a sum=sum+arr(i) Next i Text1. Text=sum End Sub Private Sub Cmd2_Click()’Call WriteData(,sum) End Sub Sub WriteData(Filename As String,Num As Integer) Open App.Path & "\"& Filename For Output As #1 Print #1,Num Close #1 End Sub
参考答案:
解析:① 对象主要属性设置如表5所示。
对象 | 对象名 | 属性名 | 属性值 |
窗体 | Form1 | Caption | Form1 |
命令按钮 | Cmd1 | Caption | 计算 |
命令按钮 | Cmd2 | Caption | 存盘 |
文本框 | Text1 |
③ 编程代码:
Option Base 1
Dim sum As Integer
Private Sub Cmd1_Click()
Dim arr(20)As Integer
Dim f1 As Boolean
Randomize
art(1)=Int (Rnd * 90)+10
sum=arr (1)
For i=2 To 20
Do
a=Int(Rnd * 90) +10
f1=False
For j==1 To i—1
If arr(j)=a Then f1=True:
Exit For
Next j
Loop While f1
arr(i)=a
sum=sum+arr(i)
Next i
Text1.Text=sum
End Sub
Private Sub Cmd2_Click()
Call WriteData (" Out5. txt ",sum)
End Sub
Sub WriteData (Filename As String,Num As Integer)
Open App. Path & "\" & Filename
For Output As #1
Print #1,Num
Close #1
End Sub