14-数组-浙江省2022届高中信息技术选考选择题专项训练
数组
1.(2009A9)有如下VB程序段:
i = 1: n = 5
Do While i <= n
x = Int(Rnd * 10) + 1
If x Mod 2 = 0 Then
a(i) = x
Else
a(n) = x
n = n - 1
End If
i = i + 1
Loop
数组元素的初值均为0,执行该程序段后,在下列选项中a(1)至a(5)各元素值可能的是
A.2 2 6 4 11 B.4 0 3 2 9 C.0 4 0 7 5 D.2 4 8 8 0
【答案】C
2.(2009百校)有如下VB程序段:
a(1) = 4: a(2) = 5: a(3) = 3: a(4) = 1: a(5) = 1: a(6) = 5
s = 0
For i = 1 To 5
If a(i) < a(i + 1) Then
t = a(i): a(i) = a(i + 1): a(i + 1) = t
End If
s = s + a(i + 1)
Next i
执行该程序段后,s的值是
A. 10 B. 11 C. 18 D. 19
【答案】A
3.(2010三校联考)执行下列vb程序后,label1显示内容不可能的是
Dim a(1 to 8) As Integer, i As Integer, sum As Integer
a(1) = 1: a(2) = 2: a(3) = 3: a(4) = 4: a(5) = 6
a(6) = 1: a(7) = 2: a(8) = 3
Randomize
i = 1 : sum = 0
Do While i < 8
sum = sum + a(i)
i = i * 2 + Int(Rnd * 2)
Loop
Label1.Caption = Str(sum)
A.8 B.9 C.5 D.6
【答案】A
1
4.(2010三校联考)有如下VB程序段,执行该程序段后,a(1)到a(5)各元素的值可能是
i=1
Do While i<=5
a(i)=(Int(Rnd*6)+5)*(i Mod 2+1))
For j= 1 To i-1
If a(j)= a(i) Then i= i-1:Exit For
Next j
i=i+1
Loop
A.18,8,16,6,12 B.11,5,10,6,20 C.14,10,12,10 D.12,6,7,8,9
【答案】A
5.(2010浙南名校)有如下 VB 程序段:
For i = 1 To 6
x = Int(Rnd * 10) + 1
If i Mod 2 <> x Mod 2 Then
a(i) = x
Else
a(7 - i) = x
End If
Next i
数组 a 各元素的初始值为 0,执行程序后 a 数组各元素的值不可能是
A. 8,7 ,0,0,6,5 B. 0,9,8,3,6,3
C. 6,7,2,3,2,0 D. 2 ,9,4,7,10,3
【答案】A
6.(2011 9+1)有如下VB程序段:
Dim flag As Boolean
Dim a(0 to 6) As Integer
a(0) = 0 : flag = True : i = 1
Randomize
Do While i <= 6
a(i) = Int(Rnd * 50) * 2
If flag Or a(i) > a(i – 1) Then
flag = Not flag : i = i + 1
End If
Loop
该程序段运行结束后,a(1)~a(6)的值可能为
A. 12,36,26,38,0,100 B. 68,38,98,30,58,18
C. 20,35,14,28,6,8 D. 8,38,18,36,0,66
【答案】D
7.(2011杭州及周边重点学校期中联考)某 VB 程序段如下:
1
Dim a(1 To 6)As Integer
Randomize
a(1)=Int(Rnd*2) +1
For i=2 To 6
a(i)=Int(Rnd*i)*2+1
If a(i)< a(i-1)Then
a(i)= a(i)+ a(i-1)
End If
Next i
执行该程序段后,数组元素 a(1)到 a(6)的值可能是( )
A.2,4,6,8,10,12 B.1,1,3,7,12,23
C.2,5,9 ,11,10,15 D.1,3,15,16,20,23
【答案】B
8.(2011金华十校)有如下VB程序段:
Dim a(1 To 5) As Integer
a(1) = 1
For i = 2 To 5
a(i) = Int(Rnd * 9) +1
If a(i) Mod 2 = 1 Then
a(i) = a(i) + a(i - 1)
ElseIf i mod 2 = 0 then
a(i) = a(i) /2
End If
Next i
执行程序后,a数组各元素不可能是( )
A. 1,8 ,11,20,2 B. 1,4,2,11,4 C. 1,1,8,17,6 D. 1,4,7,6, 8
【答案】D
9.(2011温一模)有如下VB程序段:
i = 1: s = 0
Do While i <= 5
a(i) = Int(Rnd * 8) + 2
For j = 1 To i - 1
s = s + a(j)
Next j
If i >= 2 And a(i) > s Then i = i - 1
s = 0
i = i + 1
Loop
执行该程序段后,在下列选项中,a(1)~a(5)各元素值不可能的是
A.8,8,8,3,2 B.5,4,9,7,2
C.6,2,6,7,6 D.3,2,6,2,8
【答案】D
1