浙江省桐庐分水高级中学2019-2020学年高三上学期信息技术第一次月考试卷

修改时间:2024-07-31 浏览次数:102 类型:月考试卷 编辑

选择试卷全部试题 *点击此按钮,可全选试卷全部试题,进行试卷编辑

一、选择题(本大题共12小题,每小题3分,共36分。每小题列出的四个备选项中只有一个是符合题目要求的。)

  • 1. 某书店在5所学校流动售书量(单位:本)分别是82、113、46、69、35。采用冒泡排序对其进行排序,若完成第一遍时的结果是35、82、113、46、69,则完成第二遍时的结果是(    )
    A .   35、82、113、46、69 B .   35、46、82、69、113 C .   35、46、82、113、69 D .  35、46、69、82、113
  • 2. 将数据3、6、9、5、8、1进行一趟冒泡排序后得到的数据刚好是小杨的银行卡密码,那么小杨的银行卡密码可能是(    )
    A .   136958 B .   369581 C .   135698 D .   316958
  • 3. 某书店在5所学校流动售书量(单位:本)分别是82、113、46、69、35。采用选择排序对其进行排序,若完成第一遍时的结果是82、113、46、69、35,则完成第二遍时的结果是(    )
    A .   35、82、113、46、69 B .   113、82、46、69、35 C .   35、46、82、113、69 D .   82、113、69、46、35
  • 4. 超市面食区共有5种面食品种,其价格依次为6、4、5、2、3,若采用选择排序算法对其进行从小到大排序,则第二遍的排序结果是(  )
    A .   2、3、5、6、4 B .   2、4、5、6、3 C .   2、3、6、4、5 D .   2、6、4、5、3
  • 5. 冒泡排序在某一遍加工过程中没有数据交换时,说明数据已经有序,优化程序段如下:

    i = 1: flag = True

    Do While i < = 4 And flag = True

    flag=False

    For j = 6 To i + 1 Step -1

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

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

    flag = True

    End If

    Next j

    i = i + 1

    Loop

    数组元素a(1)到a(6)的值依次为48,36,24,97,77,23,经过该程序段加工后,变量i的值是(     )

    A . 1 B . 3 C . 5 D . 4
  • 6. 有如下VB程序段:

    For i=1 To 9

    For j=10 To i+2 Step-1

    If a(j)<a(j-2) Then

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

    End If

    Next j

    Next i

    数组元素a(1)到a(10)的值依次为“3,17,2,14,15,6,7,18,9,4”,执行该程序段后,数组元素a(8)中的值为(    )

    A .   3 B .   4 C .   15 D .   17
  • 7. 某VB 程序段如下:

    i = 1: s = ""

    Do While i <= 3

    k = i : j = i + 1

    Do While j <= 8

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

    j = j + 1

    Loop

    If i <> k Then

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

    n = n + 1

    End If

    s = s + Str(a(i)) : i = i + 1

    Loop

    Label1.Caption = Str(n) + ":" + s

    数组a(1)到a(8)依次为:16,19,8,20,4,12,6,15,程序运行后,标签中显示的值为(    )

    A .   2:4 6 8 B .   2:8 6 4 C .   3:4 6 8 D .   3:8 6 4
  • 8. 有如下VB程序段:

    s=“7218634594” : n=Len(s): c=0

    For i=1 To n-1

      a(i)=Val(Mid(s, i, 2))

    Next i

    For i=1 To n-2 Step 2

      k=i

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

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

      Next j

     If k <> i Then

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

     End If

    Next i

    Text1.Text=Str(c)

    该程序段运行后,Text1中显示的内容是(  )

    A . 1 B . 2 C . 3 D . 4
  • 9. 某对分査找算法的VB程序段如下:

    i = 1: j = 7: s = ""

    key = Int(Rnd * 100)

    Do While i <= j

      m = (i + j) \ 2

      If key = a(m) Then

        s = s + "M": Exit Do       'Exit Do 表示退出循环

        ElseIf key < a(m) Then

          j = m - 1: s = s + "L"

        Else

          i = m + 1: s = s + "R"

      End If

    Loop

    Text1.Text = s

    数组元素a(1)到a(9)的值依次为“24,35,38,41,45,69,78”。若该程序段执行后,文本框Text1中显示的内容可能是(    )

    A .   RL B .   LMR C .   RLR D .   LRLM
  • 10. 有如下VB程序段(数组a各元素的初始值均为0)。

    n = Len(Text1. Text)

    c = 1

    For i = 1 To n

      s = Mid(Text1. Text, i, 1)

      If s > = "0" And s < = "9" Then

        a(c)= a(c)* 10 + Val(s)

      Else

        If a(c)> 0 Then c = c+1

      End If

    Next i

    在文本框Text中输入“No1:X:123:Y:680:End”。执行该程序段后,数组a(2)的值为(    )

    A .   1 B .   2 C .   3 D .   123
  • 11. 有如下VB程序段:

    a(1)=1:a(2)=1

    b(1)=1:b(2)=2

    For i=3 To 5

      a(i)=a(i-1)+a(i-2)

      b(i)=b(i-1)+a(i)

    Next i

    执行该程序段后,数组元素b(5)的值为(  )

    A . 12 B . 8 C . 5 D . 4
  • 12. 某个VB应用程序中使用如下代码读取数据库中的信息:

    Dim conn As New ADODB. Connection

    Dim rs As New ADODB. Recordset

    Dim n as Integer

    Private Sub Form_ Load()

    conn. ConnectionString ="Provider= Microsoft.Ace.

    OLEDB.12.0; data source ="+App. Path+"\data\data. accdb"

    conn. Open

    sql="select*from student"

    Set rs. ActiveConnection=conn

    rs. Open sql

    n=0

    Do while Not rs. EOF

    List1.AddItem rs("name")

    n=n+1

    rs. MoveNext

    Loop

    End Sub

    运行上述程序,以下说法不正确的是(    )

    A . 当前读取的数据库文件是Data文件夹中的data.accdb文件 B . 数据库中存在一个名为student的数据表 C . List1列表框中将显示指定的数据表中所有记录name字段的值 D . 窗体加载完成后,读取的数据表中总记录数为n-1

二、非选择题(本大题共2小题,每小题7分,共14分。)

  • 13. 在探究冒泡排序过程中数据的“移动”情况,小明编写了一个VB程序,功能如下:在列表框List1中显示排序前数据(存储在数组a中),在文本框Text11中输入初始位置(即下标值),单击“排序”按钮Command1后,在标鉴Label4中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框List2中。程序运行界面如图所示。

    实现上述功能的VB程序如下:

    Dim a(1 To 8) As Integer

    Dim n As Integer

    Private Sub Form_Load()

    '排序前的8个数据存储在数组a中,并在列表框List1中显示

    '代码略

    End Sub

    Private Sub Command1_Click()

    Dim i As Integer, j As Integer, k As Integer

    Dim pos As Integer        '变量pos存储指定数据的位置(即下标值)

    Dim s As String            '变量s存储pos变化情况

    s = Text1.Text

    pos = Val(Text1.Text)

    For i = 1 To n - 1

    For j = n To i + 1 Step -1

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

    k = a(j - 1)

    a(j)=a(j-1)    '(2)改错

    a(j) = k

    '如果pos位置的数据参与交换,则更新pos值,记录pos变化情况

    If pos = j Then

    pos = j - 1

    s = s + "→" + Str(pos)

    ElseIf                        Then '填写代码

    pos = j

    s = s + "→" + Str(pos)

    End If

    End If

    Next j

    Next i

    Label4.Caption = "位置变化情况:" + s

    For i = 1 To n

    List2.AddItem Str(a(i))

    Next i

    End Sub

    (1) 要使程序运行后,窗体Form1标题立即自动显示为“冒泡排序程序探究”,可在(单选,填字母:A . Form_Load / B . Form_Click / C . Command_Click)事件过程中添加语句Form1.Caption=“冒泡排序程序探究”。
    (2) 程序代码中,加框处代码有误,请写出正确程序    
    (3) 程序代码中,ElseIf  Then 语句处代码缺失,请补充正确程序
    (4) 根据程序,若在Text1中输入的初始位置为3,则Label4中显示的内容为  。
  • 14. 小李基于选择排序算法编写了一个VB程序,功能如下:在文本框Text1中显示排序前的数据,单击“排序”按钮Command1,在文本框Text2中显示剔除重复数据后的升序排序结果。程序运行界面如下图所示。算法的思路:第i趟排序从a(i)….a(bottom)中查找最小值并记录其下标k,同时将后面的每个元素与a(i)比较是否重复,若发现重复数据,进行剔除处理;找到最小值与a(i)交换。

    实现上述功能的VB程序如下,在橫线处填入合适的代码。

    Const n = 10

    Dim a(1 To n) As Integer

    Private Sub Command1_Click()

    Dim i As Integer, j As Integer, t As Integer

    Dim k As Integer, bottom As Integer

    '获取排序前数据,依次存储在数组 a 中,并在文本框 Text1 中显示。代码略

    bottom = n: i = 1

    Do While i <= bottom - 1

    k = i: j = bottom

    Do While j > i

    If a(j) < a(k) Then

    k = j

    ElseIf a(j) = a(i) Then         '若发现重复数据,进行剔除处理

    a(j) = a(bottom)

    IfThen k = j

    bottom = bottom - 1

    End If

    j = j - 1

    Loop

    If k <> i Then

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

    Else

    EndIF

    Loop

    For i = 1 To

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

    Next i

    End Sub

试题篮