试题

试题 试卷

logo

题型:单选题 题类:常考题 难易度:困难

浙江省嘉兴市2018-2019学年高三信息技术3月嘉丽联考试卷

【加试题】插值查找。在有序数组中查找值的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
举一反三
返回首页

试题篮