相关试卷

  • 1、某对分查找算法的VB程序如下:

    Key=Val(Text1.Text)

    i=1:j=6

    n=0:f=False

    flag=False

    Do While i<=j And Not f

        n=n+1

        m=Int((i+j)/2)

        If key=a(m)Then f=True

        If key <a(m)Then j=m-1 Else i=m+1

    Loop

    若数组元素a(1)到a(6)的值依次为“3,9,12,17,28,39”,在文本框Text1中输入17后运行该程序,则以上程序段运行结束后,下列说法不正确的是(  )

    A、变量i的值为4 B、变量j的值为4 C、变量m的值为4 D、变量n的值为4
  • 2、某对分查找算法的VB程序如下:

    Key=Val(Text1.Text)

    i=1:j=9

    Do While i<=j

        m=Int((i+j)/2)

        If Key <a(m)Then j=m-1 Else i=m+1

    Loop

    若数组元素a(1)到a(9)的值分别为“10,13,13,15,18,18,18,25,28”,且在文本框Text1中输入的是18,执行该程序段后,变量j的值是(  )

    A、7 B、6 C、5 D、4
  • 3、某对分查找算法的VB程序段如下:

    Key=Val(Text1.Text)

    i=1:j=10

    Text2.Text=""

    Do While i<=j

      m=Int((i+j)/2+0.5)

      If Key=a(m)Then Exit Do    'Exit Do表示退出循环

      If Key<a(m)Then j=m-1 Else i=m+1

      Text2.Text=Text2.Text +Str(a(m))

    Loop

    数组元素a(1)到a(10)的值依次为“8,17,24,30,36,40,55,58,61,66”,文本框Text1中输入的值是30,执行该程序段后,文本框Text2中显示的是(  )

    A、40 24 B、40 24 36 C、36 24 D、36 17 24
  • 4、在升序数组a(1)到a(9)中插入一个数m,数组元素依然有序,则在插入该数前需先找到其应插入的位置。使用如下VB程序段查找,则数m应插入的位置是(  )

    i=1:n=9:f=False

    Do While i<=n And f=False

        If a(i)>m Then f=True

        i=i+1

    Loop

    A、i B、i+1 C、i-1 D、n\2
  • 5、某查找算法的部分VB代码如下:

    t=False:m=0

    For i=1 To 8

        If a(i)=key Then

            t=True

            m=i

        End If

    Next i

    数组元素a(1)到a(8)的数据依次为“3,5,15,8,9,5,7,9”,当变量key值为5时,运用该算法处理后,变量m的值是(  )

    A、0 B、2 C、6 D、8
  • 6、下列有关查找算法的说法,正确的是(  )
    A、进行对分查找时,被查找的数据必须已按升序排列 B、进行对分查找时,如果查找的数据不存在,则无需输出结果 C、在新华字典中查找某个汉字,最适合使用顺序查找 D、对规模为n的数据进行顺序查找,平均查找次数是
  • 7、已知单调函数f(x)在[0,1]区间存在一个xo,使f(x0)=0。现在用对分查找法搜索x0的值,开始时搜索区间为[0,1],若经过10次对分查找后还需要继续搜索,则第11次搜索区间的长度为(  )
    A、1/2 B、1/10 C、1/102 D、1/210
  • 8、某学校图书管理系统中有10万条图书资料记录(已经索引排序),假设从中取出一条记录并与待查找项进行比较的时间为10毫秒,则用对分法在该系统中查找任意一本指定图书最多花费的时间约为(  )
    A、100万毫秒 B、50万毫秒 C、10毫秒 D、17毫秒
  • 9、在有序单词序列“bike,cake,data,easy,feel,great,hive,mark,sweet”中,用对分查找算法找到“easy”的过程中,依次被访问到的数据为(  )
    A、feel,data,easy B、great,data,easy C、bike,cake,dada,easy D、feel,cake,data,easy
  • 10、数组变量d(1)到d(8)的值依次为87,76,69,66,56,45,37,23,在用对分查找法找到“69”的过程中,依次被访问到的数据是(  )
    A、69 B、66,69 C、66,76,69 D、56,66,76,69
  • 11、用对分查找法和顺序查找法在数字序列“1,2,3,5,8,13,21,34,55”中查找数字13,两种方法都能访问到的数字是(  )
    A、3 B、5 C、8 D、34
  • 12、现利用VB编写一个程序。功能如下:数组xh,kh和cj分别存储了序号、考号和成绩数据,窗体加载时,序号、考号和成绩显示在列表框List1中。在文本框Text1中输入数值N,点击“筛选”按钮,可以将成绩最高的前N项筛选出来,并按由大到小的顺序显示在列表框List2中。如果成绩有并列,那筛选的结果可能会超过N项。程序运行界面如图所示。

    Dim num As Integer

    Dim xh(1To 1000)As String

    Dim kh(1 To 1000)As String

    Dim cj(1 To 1000)As Integer

    Private Sub Form_Load( )

    ´本过程从数据库中将序号、考号、成绩分别存入数组xh,kh,cj中,并将总人数赋值给了num(总人数num为大于N的值),代码略

    End Sub

    Private Sub Command1_Click( )

      Dim N As Integer, i As Integer, j As Integer

      Dim t1 As String, t2 As Integer

      N=Val(Text1.Text)

      List2.Clear

      For i=1 To N

        k=i

                  ´①

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

        Next j

        If k<>i Then

            t1=xh(i):xh(i)=xh(k):xh(k)=t1

            t1=kh(i):kh(i)=kh(k):kh(k)=t1

            t2=cj(i):cj(i)=cj(k);cj(k)=t2

        End If

        List2. Addltem xh(i)+" "+kh(i)+" "+Str(ci(i))

      Next i

    ´以下代码是处理可能存在的重复项

      For i=N+1 To num

        If  Then       ´②

            List2.Addltem xh(i)+" "+kh(i)+" "+Str(cj(i))

        End If

      Next i

    End Sub

    以上程序段运行时,为了实现上述功能,加框处代码应改正为:①;②

  • 13、小赵对选择排序算法进行了如下改进;在数组的所有元素中找出包含最小和最大数据的元素,然后将这两个元素分别与第一个和最后一个元素交换数据;在余下的元素中找出包含最小和最大数据的元素,分别与第二个和倒数第二个元素交换数据;以此类推,直到所有元素的数据按升序排列。小赵编写的VB程序段如下:

    p=1:q=10

    Do While p<q

      iMin=p:iMax=p

      For i=p+1 To q

        If a(i)<a(iMin)Then iMin=i

        If a(i)>a(iMax)Then iMax=i

      Next i

      t=a(iMin):a(iMin)=a(p):a(p)=t

     

      t=a(iMax):a(iMax)=a(q):a(q)=t

      p=p+1

      q=q-1

    Loop

    要使程序实现上述算法思想,则方框中的语句是(  )

    A、If iMax=p Then iMax=iMin B、If iMin=p Then iMin=iMax C、If iMax=p Then iMin =iMax D、If iMin=p Then iMax=iMin
  • 14、有如下VB程序段:

    i=6:flag=True

    Do While i>=4 And flag=True

        flag=False

        For j=1 To i-1

            If a(j)<a(i)Then

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

                flag=True

            End If

        Next j

        i=i-1

    Loop

    数组元素a((1)到a(6)的值依次为“24,7,37,45,11,52”,执行该程序段后,数组元素a(1)到a(6)的值依次为(  )

    A、7,11,24,37,45,52 B、52,45,37,24,11,7 C、7,11,37,45,24,52 D、52,24,37,45,11,7
  • 15、有如下VB程序段:

    For i=6 To 4 Step-1

        k=i

        For j=i-1 To 1 Step-1

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

        Next j

        If i<>k Then

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

        End If

    Next i

    若数组元素a(1)到a(5)的值依次为“41,66,70,83,31”,则经过该程序段“加工”后,数组元素的值依次为(  )

    A、31,41,66,83,70 B、83,70,66,41,31 C、31,41,66,70,83 D、83,66,70,41,31
  • 16、将6个数据21,12,18,97,46,27依次存放在数组a(1)到a(6)中,按照下列VB程序进行排序:

    Text3.Text="  "

    For i=1 To 2

        For j=6 To i+1 Step-1

            If a(i)<a(j)Then

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

            End If

        Next j

    Next i

    Text3.Text =Str(a(i)+a(i+1))

    程序运行后,文本框Text1中显示的内容是(  )

    A、33 B、45 C、48 D、113
  • 17、有如下VB程序段:

    Dim a(1 To 10)As String

    Dim key As String

    Text1.Text=""

    For i=1 To 3

        For j=i+1 To 10

          If a(j)>a(i)Then

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

          End If

        Next j

        Text1.Text=a(i)+Textl.Text

    Next i

    已知数组元素a(1)到a(10)的原始数据为“12”,“10”,“103”,“26”,“242”,“25”,“35”,“358”,“33”,“6”,则在文本框Text1中显示的内容是(  )

    A、6 35 358 B、358 242 103 C、35 358 6 D、6 10 12
  • 18、某排序算法的VB程序段如下:

    For i=1 To 3

      k=i

      For j=i+1 To 6

            If a(j)>a(k)Then k=j

        Next j

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

    Next i

    若数组元素a(1)到a(6)的值依次为“8,2,9,3,5,1”,则经过该程序段“加工”后,数组元素a(1)到a(5)的值依次为(  )

    A、8,2,9,3,5,1 B、9,2,8,3,5,1 C、9,8,5,2,3,1 D、9,8,5,3,2,1
  • 19、实现某排序算法的部分VB程序如下:

    For i=1 To 6

        k=i

        For j=i+1 To 7

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

        Next j

        If i<>k Then

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

        End If

    Next i

    在排序过程中,若经过某一遍排序“加工”后,数组元素a(1)到a(7)的数据依次为“10,41,75,12,63,11,85”,则下一遍排序“加工”后,数组元素a(1)到a(7)的数据依次是(  )

    A、10,11,41,75,12,63,85 B、10,11,75,12,63,41,85 C、10,11,12,75,63,41,85 D、10,11,12,41,63,75,85
  • 20、采用如下选择排序算法对数组a中的5个数据“23,86,98,65,2”按从小到大的顺序进行排序。

    For i=1 To 4

        k=i

        For j=i+1 To 5

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

        Next j

        If k<>i Then

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

        End If

    Next i

    整个排序过程中,数组中的数据的比较次数和交换次数分别是(  )

    A、10次和3次 B、10次和4次 C、15次和3次 D、15次和10次
上一页 1066 1067 1068 1069 1070 下一页 跳转