浙江省金华市江南中学2019-2020学年高二下学期信息技术4月阶段考试卷

修改时间:2024-07-31 浏览次数:125 类型:月考试卷 编辑

选择试卷全部试题 *点击此按钮,可全选试卷全部试题,进行试卷编辑

一、选择题(本大题共7小题,共35.0分)

  • 1. 若数组元素d(1)到d(8)的值依次为“86,75,58,46,20,18,12,5”,查找某Key值的VB程序段如下:

    n=0:i=1:j=8

    Key=Val(Text 1.Text)

    Do While i<=j

         m=(i+j)\2

         If Key=d(m) Then Exit Do     ‘Exit Do表示退出循环

         If Key>d(m) Then

           j=m-1:n=n-1

         Else

           i=m+1:n=n+1

         End If

    Loop

    Label 1.Caption=Str(n)

    当输入不同的Key值, 运行该程序段后, 在标签Label1中显示的不同结果共有(  )

    A . 5种 B . 6种 C . 7种 D . 8种
  • 2. 某对分查找算法的VB程序段如下:

    key=Val(Text 1.Text)

    Text 2.Text=“”

    flag=True

    i=1:j=8

    Do While i<=j And flag=True

         m=(i+j)\2

         If key=a(m) Then

           flag=False

         ElseIf key>a(m) Then

           i=m+1

         Else

           j=m-1

         End If

         Text 2.Text=Text 2.Text+Str(m)

    Loop

    数组元素a(1)到a(8)的值依次为“1,3,5,8,10,13,16,21”,在文本框Text 1中输入7,执行该程序段,下列说法正确的是(  )

    A . Flag的值为False B . 文本框Text 2中显示的内容为4 2 3 C . i的值为3 D . j的值为4
  • 3. 下列VB程序段是选择排序程序的主要部分。其中虚线框内代码用于寻找数据元素d(i)到d(n)的最小值。

    ……

    For i=1 To n-1

    k=i

    For j=i+1 To n

        If d(j) <d(k) Then k=j

    Next j

        If i<>k Then kt=d(i): d(i) =d(k): d(k) =kt

    Next i

    ……

    框内代码运行结束时,保存最小值的数组元素一定是(  )

    A . d(n) B . d(j) C . d(i) D . d(k)
  • 4. 以下程序段对数组a中的6个数据a(1)到a(6)进行加工。

    Dim flag As Boolean

    i=1: flag=True

    Do While i<= 5 And flag=True

      flag=False

      For j=6 To i+1 Step -1

        If a(j) <a(j-1) Then

        k=a(i):a(i)=a(j-1):a(j-1)=k

        flag=True

        End If

      Next j

      i=i+1

    Loop

    下列数据序列中,在加工过程中划线处语句执行次数最多的是(  )

    A . 24,29,31,20,15,10 B . 10,15,20,24,29,31 C . 29,10,31,15,20,24 D . 31,29,24,20,15,10
  • 5. 利用选择排序对一组原始数据:us,our,my,your,his进行降序排序,第二遍排序结束后的数据序列为(  )
    A . us,our,my,his,your B . your,us,my,our,his C . your,our,my,us,his D . his,us,our,my,your
  • 6. 在VB中,若a是一个整型数组,a(1)、……、a(4)分别为130、45、278、59,则执行下列程序段后,数组a中各元素的值为(  )

    For i= 1 To 3 

      For j=i+1 To 4

        If a(i) >a(j) Then

          a(0)=a(i)

          a(i)=a(j)

          a(j)=a(0)

        End If

      Next j

    Next i

    A . 45  59  130  278 B . 130  278  45  59 C . 278  130  59  45 D . 59  45  278  130
  • 7. 有如下VB程序段:

    For i= 1 To 3

    j=i+1

    Do While j<= 4

      If a(i) <a(j) Then

        t=a(i):a(i)=a(j):a(j)=t

      End If

      j=j+1

      Loop

    Next i

    数组元素a(1)到a(4)的数据依次为“33,6,14,17”,程序运行过程中,语句“t=a(i):a(i)=a(j):a(j)=t”被执行的次数为(  )

    A . 1 B . 2 C . 3 D . 4

二、非选择题(本大题共1小题,每空5分,共15.0分)

  • 8. n个数从小到大选择排序需要经过n-1遍加工,每遍加工从未排序的数据元素中找出最小的元素与当前元素进行交换。小天同学学习了选择排序算法和函数的知识后,编写了一个VB程序,功能如下:运行程序时首先在列表框List 1中显示10个大于10且小于等于99的随机自然数,单击“排序”按钮Command 1后,在列表框List 2中显示这些数据按从小到大排序后的结果,运行结果如图所示。请在划线处填入合适代码。

    Const n= 10

    Dima(1 To n) As Integer    ‘定义数组a

    Private SubForm_Load()

        Randomize

        For i=1 To n      '产生n个随机自然数,并依次存放在数组a中

       

      List 1.Add ItemS tr(a(i))

      Next i

    End Sub

    Function Find Min(x As Integer) '寻找当前需要交换的数组元素下标

      Dim k As Integer, j As Integer

      k=x

      For j=x+1Ton

       

        Next j

        Find Min=k

    End Function

    Private Sub Command 1_Click()

        Dim i As Integer, k As Integer, t As Integer

        For i= 1 To 9

       

        If k<>i Then

           t=a(i):a(i)=a(k):a(k)=t

         End If

        Next i

        For i=1 To n

          List 2.Add Item Str(a(i))

        Next i

    End Sub

试题篮