当前位置: 高中信息技术 / 单选题
  • 1. (2019高三下·嘉兴月考) 【加试题】插值查找。在有序数组中查找值的VB程序段如下:

        Dim a(1 To 10)As Integer

        Dim i As Integer,j As Integer,m As Integer,flag As Boolean

        Dim key As Integer,n As Integer,C As Integer,d As Integer

        i=1:J=10:m=0:flag=False

        key=Val(Text1.Text)

        Do While i<=J And Not flag

            If key<a(i)Or key>a(j)Then n=-1:Exit Do  未找到退出

            If a(i) <>a(j) Then

                c=key-a(i):d=a(j)一a(i)

                m=i+Int(c*(j-i)/d)

            Else

                m=i

            End If

            If key=a(m)Then flag=True:n=m

            If key>a(m)Then i=m+1

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

        Loop

        If flag=False Then n=-1

    其中数组元素a(1)到a(10)分别为“15,25,37,40,63,70,87,90,92,96”,下列说法错误的是(  )

    A . 如在文本框Text1中输入10,程序执行后,变量m取初值0,结果n=-1 B . 如在文本框Text1中输入25,程序执行后,变量m的值变化为0→2,结果n=2 C . 如在文本框Text1中输入40,程序执行后,变量m的值变化为0→3→4,结果n=4 D . 如在文本框Text1中输入78,程序执行后,变量m的值变化为0→6→7,结果n=-1

微信扫码预览、分享更方便