设有以下程序代码: Private Sub Command1_Click() a=Array(1,2,7,10,6) b=Array(5,4,7,8,2) i=0 j=0 Do If i<=UBound(a)And j<=UBound(b)Then If

admin2018-06-20  41

问题 设有以下程序代码:
Private Sub Command1_Click()
a=Array(1,2,7,10,6)
b=Array(5,4,7,8,2)
i=0
j=0
Do
If i<=UBound(a)And j<=UBound(b)Then
If a(i)<b(j)Then
Print a(i);
i=i+1
Else.
Print b(j);
j=j+1
End If
Else
If i<=UBound(a)Then
Print a(i);
i=i+1
End If
If j<=UBound(b)Then
Print b(j);
j=j+1
End If
End If
Loop Until i>UBound(a)And j>UBound(b)
End Sub
上面事件过程执行后产生的输出是(    )。

选项 A、1 5 2 4 7 7 10 8 6 2
B、1 2 2 4 5 6 7 7 8 10
C、1 2 7 10 6 5 4 7 8 1
D、1 2 5 4 7 7 8 2 10 6

答案D

解析 程序中变量a和变量b分别为数组变量,并且使用Array函数给两个数组进行了初始化,变量i和j初始值均为0,程序进入Do……Loop Until循环结构,程序执行过程如下所示:
第一次循环,变量i=0,j=0,if i<=UBound(a)andj<=UBound(b)条件为真,执行判断语句if a(i)<b(j)条件为真,执行语句print a(i),i=i+1输出1,变量i的值为1;执行循环判断语句i>UBound(a)And j>UBound(b),条件为假,继续执行循环。
第二次循环,变量i=1,j=0,if i<=UBound(a)andj<=UBound(b)条件为真,执行判断语句if a(i)<b(j)条件为真,执行语句print a(i),i=i+1输出2,变量i的值为2;执行循环判断语句i>UBound(a)And j>UBound(b),条件为假,继续执行循环。
第三次循环,变量i=2,j=0,if i<=UBound(8)and j<=UBound(b)条件为真,执行判断语句if a(i)<b(j)条件为假,执行语句Print b(j),j=j+1输出5,变量j的值为1;执行循环判断语句i>UBound(a)And j>UBound(b),条件为假,继续执行循环。
第四次循环,变量i=2,j=1,if i<=UBound(a)and j<=UBound(b)条件为真,执行判断语句if a(i)<b(j)条件为假,执行语句Print b(j),j=j+1输出4,变量j的值为2;执行循环判断语句i>UBound(a)And j>UBound(b),条件为假,继续执行循环。第五次循环,变量i=2,j=2,if i<=UBound(a)and j<=UBound(b)条件为真,执行判断语句if a(i)<b(j)条件为假,执行语句Print b(j),j=j+1输出7,变量j的值为3;执行循环判断语句i>UBound(a)And j>UBound(b),条件为假,继续执行循环。
第六次循环,变量i=2,j=3,if i<=UBound(a)and j<=UBound(b)条件为真,执行判断语句if a(i)<b(j)条件为真,执行语句print a(i),i=i+1输出7,变量i的值为3;执行循环判断语句i>UBound(a)And j>UBound(b),条件为假,继续执行循环。
第七次循环,变量i=3,j=3,if i<=UBound(a)and j<=UBound(b)条件为真,执行判断语句if a(i)<b(j)条件为假,执行语句Print b(j),j=j+1输出8,变量j的值为4;执行循环判断语句i>UBound(a)And j>UBound(b),条件为假,继续执行循环。
第八次循环,变量i=3,j=4,if i<=UBound(a)and j<=UBound(b)条件为真,执行判断语句if a(i)<b(j)条件为假,执行语句Print b(j),j=j+1输出2,变量j的值为5;执行循环判断语句i>UBound(a)And j>UBound(b),条件为假,继续执行循环。
第九次循环,变量i=3,j=5,if i<=UBound(a)and j<=UBound(b)条件为假,执行判断语句If i<=uBound(a)条件为真,执行语句print a(i),i=i+1输出10,变量i的值为4;执行循环判断语句i>uBound(a)And j>UBound(b),条件为假,继续执行循环。
第十次循环,变量i=4,j=5,if j<=UBound(3)and j<-=UBound(b)条件为假,执行判断语句If i<=UBound(a)条件为真,执行语句print a(i),i=i+1输出6,变量i的值为5;执行循环判断语句i>UBound(a)And j>UBound(b),条件为真,循环结束。
所以程序输出的结果为1 2 5 4 7 7 8 2 10 6,D选项正确。本题选择D选项。
转载请注明原文地址:https://jikaoti.com/ti/BUy0FFFM
0

最新回复(0)