试题

试题 试卷

logo

题型:单选题 题类:模拟题 难易度:普通

浙江省杭州市2015年高考信息技术模拟卷8

A班一组同学的英语成绩分别为24、27、16、15、24、18,下列采用排序算法及第二遍的排序结果分别为:(   )

原始数据

24

27

16

15

24

18

第一遍

27

24

16

15

24

18

第二遍

第三遍

27

24

24

15

16

18

第四遍

27

24

24

18

16

15

第五遍

27

24

24

18

16

15

A、冒泡排序,27 24 16 15 24 18 B、冒泡排序,27 24 18 16 15 24 C、选择排序,27 24 16 15 24 18 D、选择排序,27 24 18 16 15 24
举一反三
【加试题】某公司需要设计一个生日查询系统:输入某个日期,就能查出在这天生日的所有员工姓名,并统计出生人人数,以便于公司提前为员工准备生日礼物。员工信息存储在数据库文件“员工信息.mdb”的数据表“members”中,数据表“members”的结构如下:

VB应用程序界面如上图所示,在文本框text1中输入查询的日期(以月日形式,如0623),单击“查询”按钮,在列表框中显示所有这个日子出生的员工姓名(按姓名排序),并在Label3处显示员工数量,如果人数为0,则在列表框中显示“本天没有员工生日”。

解决此问题的VB程序如下,阅读程序并完成后面的问题。

‘定义存放员工姓名的数组na

Private Sub CmsqClick()

  Dim n As Integer , i As Integer , j As Integer

  Dim t1 As String

  ‘连接数据库获取数据

  Dim cn As new connection

  Dim rs As new recordest

  Dim str1 As String , str2 As String

     str1 =”driver=Microsoft access driver(*.mdb)”;dbq=”&app.path”&”员工信息.mdb”

     cn.open str1

     str2 = “select * form members where 生日 =’“ + text1.text + ”’”

     rs.open str2 , cn.adOpenDynamic ,adLockOptimistic

     n = 0

     Do While Not Rs.EOF

       n = n + 1

       na(i) = rs.Fields(“姓名”).value

       rs.MoveNext

     Loop 

     rs.close

     cn.close

‘按姓名排序

If n = 0 Then

  List1.AddItem “本天没有员工生日”

Else

  For i = 1 to n-1

    For j = 1 to n+1 Step -1

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

        t1 = na(j) :     ①      : na(j-1) = t1

      End If

    Next j

   Next i

   For i = 1 to n

     List1.AddItem     ②   

   Next i

   Label3.Caption = “这天共” + Str(n) + “位员工生日”

  End If

End Sub

【加试题】某排序算法思想如下:若有11个桶,编号从0~10,随机产生多个整数,每产生一个整数时,就在以该整数位编号的桶中放一面小旗子,最后只要按顺序数每个桶中有几面小旗子,就能得到这几个整数的有序排列。例如2号桶中有1个小旗子,表示2出现了一次;3号桶中有1个小旗子,表示3出现了一次;5号桶中有2个小旗子,表示5出现了两次;8号桶中有1个小旗子,表示8出现了一次,按桶的编号顺序读出旗子数量,没有旗子的桶略过,得到有序整数为“2,3,5,5,8”。

为此,小李编写了一个VB程序,功能如下:运行程序,窗体加载时随机产生6个[0,9]的随机整数,并在列表框List1中依次显示排序前数据,单击“排序”按钮Command1,在列表框List2 中显示经过上述排序算法后的数据。运行结果如图所示。

实现上述功能的VB代码如下,但横线处代码有错,请改正。

Dim a(10) As Integer'数组a表示桶的编号,如a(0)表示第0号桶

Private Sub Command1_Click()

Dim i As Integer, j As Integer

For i = 0 To 10

For j = 1 To     i      错①处

List2.AddItem CStr(i)

Next j

Next i

End Sub

Private Sub Form_Load()

Dim i As Integer

Randomize

For i = 0 To 10'将数组初始化为0

a(i) = 0

Next i

For i = 1 To 6'产生6个[0,9]的随机数

t = Int(Rnd * 10)

a(t) =  t + 1  '第t桶中小旗子数量加1  错②处

List1.AddItem CStr(t)

Next i

End Sub

①{#blank#}1{#/blank#} ②{#blank#}2{#/blank#} 

返回首页

试题篮