题库 高中信息

题干

下列程序的功能是对某校2011年3月份技术高考成绩进行排名分析,数组a中保存学生技术考试的成绩,数组b中保存学生的姓名,第i个学生的技术成绩保存在a(i)中,对应的学生姓名保存在b(i)中,最后按技术成绩从高到低进行排序。程序界面如图所示,左边列表框List1中显示的是所有学生到的原始数据,单击"排序"按钮(Command1)后,在右边的列表框List2中显示排序完成后的结果(按成绩从高到低排列)。

(1)虚线内程序段所采用的排序算法名称是
(2)程序加框处代码有错,请改正。
上一题 下一题 0.99难度 填空题 更新时间:2019-05-29 05:27:29

答案(点此获取答案解析)

同类题2

统计学中的“中位数”是这样的一种数:一组数据里的一半的数据比它大,而另外一半数据比它小。计算一组数据的中位数的方法是:把所有数据按照非升的次序排列。如果数据的个数是奇数,则中间那个数就是这组数据的中位数;如果个数是偶数,则中间两个数的算
术平均值是中位数。

小诗收集了全市部分教职员工的工资数据,设计了找中位数的程序如下。小诗收集的人员工资数据放在了 Access 数据库中。小诗的程序在窗体加载时读出了所有人员的数据:姓名放在数组a中,对应的工资放在数组b中,数据总记录数放在n中。单击按钮 Command1后先以工资按非升的次序排序,然后找出中位数。

(1)要使程序运行时,从数据库中读取所有人员的数据,可在_____________事件过程中添加相关代码。(单选,填字母:
A.Form1_load/B.Form_load/C.Form1.Caption)

Dim a(1 To 1000) As String
Dim b(1 To 1000) As Single
Dim n As Integer

‘数据库读取所有人员的数据代码略

Private Sub Command1_Click()

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

Dim tmp1 As Single,tmp2  As String

Dim median As Single

For i = n To 2 step -1

k = i

For j = i-1 To 1 step -1

If b(j) > b(i) Then

k = j

End If

Next j

If k <> i Then

tmp1 = b(k): b(k) = b(i): b(i) = tmp1

tmp2 = a(k): a(k) = a(i): a(i) = tmp2

End If

Next i

For i = 1 To n

List1.AddItem Str(i) & " " & a(i) & " " & Str(b(i))

Next i

If n Mod 2 = 0 Then

median =________

Else

median = b(n\2+1)

End If

Label1.Caption = "中位数是:" & Str(median)

End Sub
(2)将划线处代码补充完整。
(3)程序代码中,加框处有错,请改正。___________
(4)如图所示,数据库中一共有___________个教职员工。

同类题3

n个数据的冒泡排序需要经过n-1遍加工,每一遍加工自下而上比较相信两个数据,把较小者交换到上面。小刘发现:当某一遍加工过程中没有数据交换,说明数据已经有序,无需进一步加工。为此,小刘对算法进行优化,编写了一个VB程序,功能如下:运行程序时,在列表框List1中显示排序前数据,单击“排序”按钮Commaiid1,在列表框List2 中显示这些数据按升序排序后的结果,在标签Label3中显示排序过程的加工遍数。运行效果如下图所示,

实现上述功能的VB代码如下:
Dim a(1 To 8) As Integer
Dim n As Integer
Private Sub Form_Load()
'n=8,排序前数据存储在数组a中,并在列表框Listl中显示
'代码略
End Sub
Private Sub Command1_Click()
Dim flag As Boolean
i = 1
flag = True
Do While   '改错
flag = False
For j = n To i + 1 Step -1
If a(j) < a(j - 1) Then
k = a(j): a(j) = a(j - 1): a(j - 1) = k
flag = True
End If
Next j
i = i + 1
Loop
Label3.Caption = "排序过程的加工遍数为" +       '填空
For i = 1 To n
List2.AddItem Str(a(i))
Next i
End Sub
(1)代码“Private Sub Command1_Click()”中的Click是___________。(单选,填字母:
A.对象名/B.属性名/C.事件名)
(2)程序代码中,Do While语句加框处有错,请改正。__________________
(3)程序代码中,将Label3.Caption赋值语句补充完整。_________________
(4)程序代码中,flag值为___________表示某一遍加工中发生过交换。