22、【
单选题
】 下面程序段是利用For语句给数组a赋值:
For i= 1 To 6
a(i)=i+1
Next i
该程序段运行后数组元素a(3)的值为
[2分]
、
2
、
3
、
4
、
5
答案:
23、【
单选题
】 运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。发生"除数为零"错误时所执行的语句是
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Single
a = 2 '①
b = a + 1 '②
c = a / (b - 3) '③
Text1.Text = Str(c) '④
End Sub
[2分]
30、【
单选题
】 在Visual Basic中,有如下程序:
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer
Dim d As Integer
a = Val(Text1.Text): b = Val(Text2.Text): c = Val(Text3.Text)
d = max(a, b) + max(b, c)
Text4.Text = Str(d)
End Sub
Function max(x As Integer, y As Integer) As Integer
If x > y Then max = x Else max = y
End Function
运行该程序,在文本框Text1、文本框Text2、文本框Text3中分别输入2、-5、6后,单击命令按钮Command1,文本框Text4中显示的是
[2分]
32、【
填空题
】 有一道趣味题,张老师问李老师:"你今年几岁?你爱人今年几岁?"李老师笑笑说:"我年龄的平方与我爱人年龄之和恰好等于1053。而我爱人年龄的平方与我的年龄之和却等于873。你计算一下吧!"
设李老师年龄为x岁,他爱人年龄为y岁,由题意可得x,y满足的数学式为:
x2 + y = 1053
x + y2 = 873
解决此问题的流程图如VB-1所示。根据流程图VB-1编写的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。
Private Sub Command1_Click()
Dim x As Integer, y As Long
x = 1
y = 1053 - x * x
Do While (1)
(2)
y = 1053 - x * x
Loop
Text1.Text = Str(x)
Text2.Text = Str(y)
End Sub
程序中划线处(1)应填入
。
程序中划线处(2)应填入
。
[每空4分]
解决此问题相应的Visual Basic程序如下:
Private Sub Command1_Click()
Dim x As Single, y As Single
x = Val(orgtext.Text)
If x <= 500 Then
y = x
ElseIf ① Then
y = 500 + (x - 500) * 0.9
ElseIf x <= 1500 Then
y = 500 + 500 * 0.9 + (x - 1000) * 0.8
ElseIf x <= 3000 Then
y = 500 + 500 * 0.9 + 500 * 0.8 + (x - 1500) * 0.7
Else
y = 500 + 500 * 0.9 + 500 * 0.8 + 1500 * 0.7 + (x - 3000) * 0.6
End If
②
End Sub
(1)解决此问题的算法是
。 (选填:解析法 或 枚举法)
在程序①和②划线处,填入适当的语句或表达式,把程序补充完整。
(2)程序中①划线处应填入
。
(3)程序中②划线处应填入
。
[每空4分]
答案:["解析法","x<=1000","CashText.text=sty(y)"]
34、【
填空题
】 有如下Visual Basic程序段:
m = -5
n = -2.6
s = m + Int(n)
该程序段运行后,变量s的值为
。
[每空2分]
答案:["-8"]
35、【
填空题
】 有如下Visual Basic程序段:
Dim x As Single, c As String
x=Val(Text1.Text)
If x>12 Then
c= "PM"
Else
c= "AM"
End If
Label1.Caption=c
该程序段运行时,在文本框Text1中输入15.6,Label1标签上将显示的是
。
[每空2分]
答案:["PM"]
36、【
填空题
】 有如下Visual Basic程序段:
a = 30 : b = 20 : c = 5
m=a
If b < m Then m = b
If c < m Then m = c
该程序段运行后,变量m的值为
。
[每空2分]
答案:["5"]
37、【
填空题
】 有如下Visual Basic程序段:
s = 0
i = 3
Do While s <= 10
s = s + i
i = i + 3
Loop
该程序段运行后,变量s的值为_
。
[每空2分]
答案:["18"]
38、【
填空题
】 有如下Visual Basic程序段:
k = 0
For i = 1 To 10
If i Mod 3 = 0 Then k = k + 1
Next i
该程序段运行后,变量k的值为
。
[每空2分]
答案:["3"]
39、【
填空题
】 下列Visual Basic程序的功能是:计算表达式12+42+72+…+972的值,并在文本框Text1中输出表达式的值。为了实现这一目标,程序中For语句划线处的循环变量步长应为
。
Private Sub Command1_Click()
Dim sum As Long
Dim i As Integer
sum = 0
For i =1 To 97 Step
sum = sum + i*i
Next i
Text1.Text = Str(sum)
End Sub
[每空2分]
答案:["3"]
40、【
填空题
】 有如下Visual Basic程序段:
s = 0:t=1
For i = 1 To 4
t=-t
s=s+t*i
Next i
该程序段运行后,变量s的值为
。
[每空2分]