设有以下程序代码: 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<=UBoun

admin2020-07-22  31

问题 设有以下程序代码:
    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
    Ifj<=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 l0 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)and j<=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,ifi<=UBound(a)and i<=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(a)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,i=5,if i<=UBound(a)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/nfS0FFFM
0

最新回复(0)