应用题

(1)在考生文件夹下有一个工程文件 sjt3. vbp, 相应的窗体文件为 sjt3. frm。 其功能是随机产生 30 个 0~1000 的整数, 将其放入一个数组中, 然后输出其中的最大值。 程序运行后,单击命令按钮(名称为 Command1, 标题为“输出最大值”, 如图所示), 即可求出其最大值,并显示在窗体上。 这个程序不完整, 请把它补充完整, 并能正确运行。
要求: 去掉程序中的注释符, 把程序中的?改为正确的内容, 使其实现上述功能, 但不能修改程序中的其他部分。 最后将修改后的文件按原文件名存盘。

【正确答案】

(1)步骤 1: 打开本题工程文件。
步骤 2: 分析并编写程序代码。
程序提供代码
Option Base 1
Private Sub Command1_Click()
Dim arrN(30)As Integer
Dim Max As Integer
Randomize
For i=1 To 30
´arrN(i)=Int(Rnd*?)
Next i
´?=arrN(1)
For i=2 To 30
´If?Then
Max=arrN(i)
End If
Next i
Print Max
End Sub
程序结束

第 1 个?处填入: 1000
第 2 个?处填入: Max
第 3 个?处填入: arrN(i)>Max 或 Max 步骤 3: 调试并运行程序, 关闭程序后按题目要求存盘。
(2)步骤 1: 打开本题工程文件。
步骤 2: 分析并编写程序代码。
Function Fun()
Dim s As Integer, i As Integer
For i=1 To 1000
If 1 Mod 5=0 Or 1 Mod 7=0 Then
s=s+1
End If
Next i
Fun=s
End Function
步骤 3: 调试并运行程序, 关闭程序后按题目要求存盘。
详细解答: (1)Rnd()函数用于产生一个小于 1 但大于或等于 0 的随机数。

【答案解析】

(1)Rnd()函数用于产生一个小于 1 但大于或等于 0 的随机数。
本题程序用变量 Max 记录最大数, 最初把数组的第~个元素的值赋给 Max, 然后通过 For循环语句将其后的元素依次与之比较, 如果其值大于 Max 则将其赋值给 Max, 依次类推,最终 Max 的值就是数组各元素中的最大值。
(2)本题要求的是 1000 以内能被 5 或 7 整除的数的个数。 在 Visual Basic 中, 使用 Mod 运算符来判断一个数是否可以被另一个数整除, 如果计算结果为 0, 则表示可以整除, 否则不能整除。