问题 问答题

在考生文件夹下有一个工程文件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所示。

表 5
对象对象名属性名属性值
窗体Form1CaptionForm1
命令按钮Cmd1Caption计算
命令按钮Cmd2Caption存盘
文本框Text1
② 分析:窗体上有两个命令按钮和一个文本框,它们的属性按表5的内容进行设置。 f1为逻辑变量,在程序中起到一个开关作用,其初值为False。变量sum为整型窗体变量,用它存放各数组值之和,其初值为第一个产生的随机数。WriteData过程有两个参数,其中第一个参数的作用是传递文件名。在该程序中,从第二个随机数开始,每产生一个随机数,都要与数组中原有的数据进行比较,若有重复,重新产生一个,直到与每一个数据都不重复为止。
③ 编程代码:
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

配伍题 B型题
单项选择题