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

admin2020-08-10  27

问题 设有以下程序代码:
    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)Andj<=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 l
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,Ifi<=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,ifi<=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,ifi<=UBound(a)aIldj<=UBound(b)条件为真,执行判断语句if a(i)<b(j)条件为假,执行语句Print(j),j=j+1输出5,变量j的值为1;执行循环判断语句i>UBound(a)And j>UBound(b),条件为假,继续执行循环。
第四次循环,变量i=2,j=1,ifi<=UBound(a)andj<=UBound(b)条件为真,执行判断语句if a(i)<b(j)条件为假,执行语句Print(j),j=j+1输出4,变量j的值为2;执行循环判断语句i>UBound(a)And j>UBound,条件为假,继续执行循环。
第五次循环,变量i=2,j:2,ifi<=UBound(a)andj<=UBound(b)条件为真,执行判断语句if a(i)<b(j)条件为假,执行语句Print b(j),j=j+1输出7,变量j的值为3;执行循环判断语句i>UBound(a)And j>UBound(b),条件为假,继续执行循环。
第六次循环,变量j=2,j=3,ifii<=UBound(a)andji<=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,ifi<=UBound(a)and j<=UBound(b)条件为真,执行判断语句if a(i)<b(j)条件为假,执行语句蹦nt b(j),j=j+1输出8,变量j的值为4;执行循环判断语句i>UBound(a)And j>UBound(b),条件为假,继续执行循环。
第八次循环,变量i=3,j=4,ifi<=UBound(8)andj<=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,ifi<=UBound(a)andj<=UBound(b)条件为假,执行判断语句If i<=UBound(a)条件为真,执行语句print a(i),i=i+1输出10,变量i的值为4;执行循环判断语句i>UBound(a)Andj>UBound(b),条件为假,继续执行循环。
第十次循环,变量i=4,j=5,ifi<=UBound(a)andj<=UBound(b)条件为假,执行判断语句Ifi<=UBound(a)条件为真,执行语句print a(i),i=i+1输出6,变量i的值为5;执行循环判断语句i>UBound(a)Andj>UBound(b),条件为真,循环结束。
所以程序输出的结果为1 2 5 4 7 7 8 2 10 6,D选项正确。本题选择D选项。
转载请注明原文地址:https://kaotiyun.com/show/uSHp777K
0

最新回复(0)