16-对分-浙江省2022届高中信息技术选考选择题专项训练

| 20页
| 441人阅读
| 7人下载

对分

1.(2009A9)某对分查找算法的 VB 程序段如下:

Key = Val(Text1.Text): s = ""

i = 1: j = 10

Do While i <= j

    m = (i + j) \ 2

    If a(m) >Key Then

        i = m + 1

        s = s + "R"

    Else

        j = m - 1

        s = s + "L"

    End If

Loop

Text2.Text = s

数组元素 a(1)到 a(10)的值依次为“33,21,18,14,14,14,10,6,4,1”。在文本框 Text1 中输入 14 后,该程序段的输出结果与输入下列值的输出结果相同的是

A.10      B.16     C.19     D.3

【答案】B

 

2.(2009百校)某对分查找算法的VB程序段如下:

Key = Val(Text1.Text)

s = ""

i = 1: j = 10

Do While i <= j

    m = (i + j) \ 2

    s = s + Str(a(m) \ Key)

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

Loop

Text2.Text = s

数组元素a(1)到a(10)的值依次为“2,3,5,8,9,10,13,17,19,20”。在文本框Text1中输入待查找的整数,执行该程序段,则文本框Text2中显示的内容可能的是

A. 2 1 1      B. 0 1 1 1      C. 0 0 1 0      D. 0 2 0 1

【答案】B

 

3.(2010三校联考)在文本框Text1中输入19,执行如下程序后,label1上显示的内容是

Dim a(1 To 10) As Integer

a(1) = 2: a(2) = 13: a(3) = 15: a(4) = 16: a(5) = 19

a(6) = 25:a(7) = 29:a(8) = 36: a(9) = 39: a(10) = 54

i = 1: j = 10:s=0:left=0

key = Val(Text1.Text)

mid = (i + j + 1) \ 2

Do While a(mid) <> key And i <= jpage number 0

1

 


If a(mid) > key Then j = mid - 1: left = left + 1 Else i = mid + 1

mid = (i + j) \ 2: s = s + 1

Loop

Label1.caption=str(s)+str(left)

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

【答案】D

 

4.(2010浙江十校)某对分查找算法的VB程序段如下:

'数组元素f(l)到f(10)赋初值为0,代码略

Key = Val(Text1.Text)

i = 1: j = 10

Do While i <= j

      m = (i + j) \ 2

      f(m) = 1

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

Loop

整数数组元素a(1)到a(10)为升序序列,在文本框Text1中输入待查找数,执行该程序段后,下列选项中,f(1)到f(10)各元素值f的是

A.1,1,0,0,1,0,0,0,0,0  B.0,0,0,0,1,0,0,1,0,0  C.0,1,1,1,1,0,0,0,0,0  D.0,0,0,0,1,1,1,1,0,0

【答案】B

 

5.(2010浙江五校)某对分查找算法的 VB 程序段如下:

key=Val(Text1.text)

s = 0: i = 1: j = 11

Do While i <= j

    m = (i + j) \ 2

    If Key > a(m) Then

     i = m + 1: s = 2 * s + 1

    Else

     j = m - 1: s = 2 * s

    End If

Loop

Text2.Text = Str(s)

数组 a(1)到 a(11)的值依次为“2,13,24,31,35,44,47,50,61,88,101”,在文本框 Text1 中输入下列选项值, 所得输出结果与其他三项不相同的是

A .25      B.34     C.35     D.65

【答案】A

 

6.(2011 9+1)有如下VB程序段:

i = 1 : j = 6 : n = 0 : Key = Val(Text1.Text)

Do While i <= j

    m = (i + j) \ 2

    n = n + 1

    If Key > a(m) Then j = m - 1 Else i = m + 1page number 1

1

 


Loop

a(1)到a(6)的值依次为“99,77,55,44,33,22”,下列说法正确的是

A.数组a中的元素若无序,也可用此程序段进行查找某个数字

B.无论key值是多少,循环结束后“i > j”一定成立

C.如果key值为55,那么该程序段运行后,变量n的值为1

D.如果key值为40,那么该程序段运行后,变量m的值为5

【答案】B

 

7.(2011杭州及周边重点学校期中联考)有如下VB 程序段:

i=1: j=8 : k=0

Key=Int(Rnd*50) *2+3

Do While i<=j

    m= (i+j+1) \2

    If Key=a(m) Then

     Exit Do

    ElseIf Key <a(m) Then

     i=m+1 : k=k+1

    Else

     j=m-1 : k=k-1

    End If

Loop

Text1.Text=Str(k)

数组元素a(1)到a(8)的值依次为“88 ,66,50,46,24 ,20,18,6”,执行该程序段后,k的值不可能是( )

A. -1 或-2     B. 1 或-1    C. -3或2     D. -2或3

【答案】C

 

8.(2011湖丽衢三地联考)现有一个整数型数组 a(下标 1 到 n),其值的规律是先升序,中间相等,之后降序。 现要找到降序的拐点,如数列 2、4、11、15、15、15、14、11、10、8,其降序的拐 点为最后一个 15 所在的位置,即 6 号位置。部分程序如下:

L = 1: R = n

Do While L <= R

    m = (L + R) \ 2

    If ① Then

     R = m - 1

    Else

     L = m + 1

    End If

Loop

Text1.Text = ②

为实现上述功能,则程序中①②处填写的代码是

A.① a(m) > a(m + 1) ② Str(R)     B.① a(m) > a(m + 1) ② Str(L)

C.① a(m) >= a(m + 1) ② Str(R)    D.① a(m) >= a(m + 1) ② Str(L)

【答案】Bpage number 2

1

 


由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。