内容正文:
2.3循环结构程序同步练习人教版信息技术选修1
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.有如下VB程序段:
s = 1
a(1) = 1
For i = 2 To 6
a(i) = 2 * i + a(i - 1)
If i Mod 2 = 0 Then
a(i) = a(i) + 1
End If
s = s + a(i)
Next i
Text1.Text = Str(s)
程序运行时,单击按钮Command1后,文本框Text1中显示的内容是( )
A.72 B.41 C.106 D.115
2.数组元素a(1)到a(n*2)为互不相等的正整数(n≥1),要在其中找到最大值和次大值,并分别存储到变量m1和m2中。实现该功能的VB程序段如下:
m1=0:m2=0
For i=1 To n * 2 Step 2
If a(i)>a(i+1)Then
t1=a(i):t2=a(i+1)
Else
t1=a(i+1):t2=a(i)
End If
If Then
m1=t1:m2=t2
ElseIf Then
m2=m1:m1=t1
ElseIf Then
m2=t1
End If
Next i
上述程序段中方框处可选代码为:①t1>m1 ②t1>m2 ③t2>m1则(1)(2)(3)处代码依次为( )
A.①②③ B.②③① C.③①② D.③②①
3.有如下VB程序段:
c = Text1.Text
s1 = "jiayou!" s2 = s1 + s1
For i =1 to len(s1)
If c = Mid(s2, i, Len(s1)) Then Exit For
Next i
Label1.Caption = Str(i)
程序执行完后,Label1中显示的内容是4,则Text1中输入的内容是( )
A."jiayou!" B."you!jia" C."ayou!ji" D."jayou!j"
4.如下VB程序段:
k=0:n=Len(s)
For i = 1 To n\2
k = k+Abs(Asc(Mid(s,i,1)) - Asc(Mid(s,n-i+1,1)))
Next i
If k=0 Then flag=True
运行后该程序段后,变量flag的值为True,s的值可能的是( )
A."appyappy" B."12321" C."Appa" D."2021-2021"
5.对一组正整数进行处理,要求处理后偶数在前,奇数在后,并保持相对顺序不变。
Const n = 10
Dim a(1 To 10) As Integer, b(1 To 10) As Integer
‘数组a赋初值,代码略
num = 0
k = 1
Do While k <= n
If ① Then
num = num + 1
b(num) = a(k)
Else
②
End If
k = k + 1
Loop
For j = ③
a(j) = b(j - n + num)
Next j
将划线处的代码补充完整,正确的是( )
A.①a(k) Mod 2=0 ②a(k-num)=a(k) ③n-num To n
B.①a(k) Mod 2=1 ②b(k-num)=a(k) ③n-num+1 To n
C.①a(k) Mod 2=1 ②a(k-num)=a(k) ③n-num+1 To n
D.①a(k) Mod 2=0 ②b(k-num)=a(k) ③n-num To n
6.有如下VB程序:
n = 4
For i = 1 To 25
j = 1: a(j) = a(j) + 1
Do While a(j) = 4
a(j) = 0
j = j + 1
a(j) = a(j) + 1
Loop
Next i
For i = 1 To n
s = Str(a((i + 1) Mod 4 + 1)) + s
Next i
数组a(1)至a(4)初值均是 0,执行该程序后,s的值是( )
A."1012" B."2101" C."0121" D."1210"
7.有如下VB程序
以下说法正确的是( )
i=1:j=10:key=Val(Text1.Text)
Do While i <= jm = (i + j + 1) \ 2
If a(m) >= key Then
j