15-排序-浙江省2022届高中信息技术选考选择题专项训练

| 16页
| 509人阅读
| 7人下载

排序

1.(2009A9)有如下VB程序段

For i = 1 To n - 1

    For j = ①

        If ② Then

         t = a(j): a(j) = a(j + 1): a(j + 1) = t

        End If

    Next j

Next i

为实现 n 个数的降序排序,划线处的代码应为

A.①1 To n - i ②a(j) <a(j + 1)

B.①n - i To 1 Step -1 ②a(j) <a(j + 1)

C.①1 To n - i ②a(j) >a(j + 1)

D.①n - i To 1 Step -1 ②a(j) >a(j + 1)

【答案】A 

 

2.(2010浙江十校)11.有如下VB程序段:

For i = 1 To 2

    For j = 6 To i + 1 Step -1

        If a(j) Mod 10 > a(i) Mod 10 Then

         t = a(j): a(j) = a(j - 1): a(j - 1) = t

        End If

    Next j

Next i

执行上述程序段后,下列选项中,a(l)到a(6)各元素值的是

A. 74, 83, 41, 1, 70, 10     B. 79, 46, 4, 64, 53,71

C. 16, 75, 35, 60, 54, 91    D. 49, 56, 19, 25, 82, 32

【答案】D 

 

3.(2010浙南名校)有如下 VB 程序段:

'生成 6 个随机正整数,依次存入数组 a(1)到(6),代码略

Const n = 6

k = Int(Rnd * 3)

For i = 1 To 2

    For j = 1 To n - i - k

        If a(j) > a(j + 1) Then

         t = a(j): a(j) = a(j + 1): a(j + 1) = t

        End If

    Next j

Next i

执行上述程序段后,下列选项中,a(1)到 a(6)各元素的值不可能是( )

A. 2,1 ,4,5,5,8     B. 5,6,7,7,9,1

C. 1,7,6,7,6,5      D. 8,5,1,2,8,8page number 0

1

 


【答案】C 

 

4.(2011 9+1)下列VB程序段实现以下功能:产生 10 个 1~100 之间的随机整数存储数组 a 中,引入一个数组 b,使得 a(b(i))升序,即 a(b(1) )≤a(b(2) ) ≤a(b(3) )……≤a(b(9) )≤a(b(10) )。

For i = 1 To 10

    (1)   

    a(i) = Int(Rnd() * 100) + 1

Next i

For i = 1 To 9

    For j = 10 To i + 1 Step -1

     If    (2)    Then   t=b(j) : b(j)= b(j-1) : b(j-1)=t

    Next j

Next i

上述程序段 2个划线处的代码分别为

A. (1)b(i) = i (2)a(b(j)) < a(b(j-1))   B. (1)b(i) = i (2)b(j) < b(j-1)

C. (1)b(i) = 1 (2)a(b(j)) < a(b(j-1))   D. (1)b(i) = 1 (2)b(j) < b(j-1)

【答案】A

 

5.(2011杭州及周边重点学校期中联考)将一组数据(共 n *n 个数),分别存放在 a(1)…a(n*n)中,通过下面程序实现 n 段有序(升序),例 如:当 n=4 时, 排序结果如图所示:

有如下 VB 程序段:

For i = 1 To n

    For j = n * (i - 1) + 1 To ①

        For k = ② To ③

        If a(k) > a(k + 1) Then

         t =a(k): a(k) = a(k + 1): a(k + 1) = t

        End If

        Next k

    Next j

Next i

上述程序段划线处的表达式正确的是( )page number 1

1

 


A.① n * i – 1 ② n * (i - 1) + 1 ③ n * (2 * i - 1) – j

B.① n * (i - 1) ② n * i – 1 ③ n * i - j

C.① n * i – 1 ② n * i + j ③ n * (2 * i - 1)

D.① n * i ② n * (i - 1) + 1 ③ n * i - j

【答案】A

 

6.(2011湖丽衢三地联考)有如下 VB 程序段:

For i = 1 To 5

    k = i

    For j = i + 1 To 6

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

    Next j

    tmp = a(i): a(i) = a(k): a(k) = tmp

Next i

数组元素 a(1)~a(6)的值依次为“62,54,35,67,15,34”。执行该程序段后,a(1)~ a(6)的值依次为

A.15 54 34 67 35 62        B.54 15 67 34 62 35

C.15 34 35 54 62 67        D.15 34 67 62 54 35

【答案】A

 

7.(2011稽阳)有如下VB程序段:

n = 7

For i = 1 To n \ 2

    For j = n - i To i + 1 Step -1

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

            t = a(j): a(j) = a(j - 1): a(j - 1) = t

        End If

    Next j

    If i Mod 2 = 0 Then

        t = a(n - i + 1): a(n - i + 1) = a(i): a(i) = t

    End If

Next i

已知a(1)到a(7)各元素初值分别是1,2,3,4,5,6,7, 运行上述程序段后,a(1)到a(7)各元素的值分别是

A.7,5,3,1,2,4,6      B. 6,4,2,1,3,5,7

C.7,6,5,4,3,2,1              D. 6,5,2,1,3,4,7

【答案】D

 

8.(2011金华十校)采用冒泡排序算法对数据序列“4,7,3,2,8”完成降序排序,则需交换的次数为(   )

A. 5     B. 6      C. 8                                                                      D. 10

【答案】A

 

9.(2011七彩阳光)对一组数据采用冒泡排序算法进行排序,若第一趟排序完成后的数据序page number 2

1

 


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