题库 高中信息

题干

下列VB程序的功能是:程序运行时,单击命令按钮Commandl后,产生10个[1,999]范围内互不相同的随机整数,依次显示在列表框List1中,然后将它们按从小到大的顺序排序,排序结果显示在列表框List2中。数组a用于存储产生的10个随机整数,函数f(x)用于判断随机整数x与已生成的整数是否有重复,若有重复则返回True,否则返回False。
(1)虚线框内程序段所采用的排序算法名称是 。(填:冒泡排序/选择排序)
(2)在程序(1)和(2)划线处,填入适当的语句或表达式,把程序补充完整。
Dim a(1 To 10) As Integer
Function f(x As Integer) As Boolean ′代码略
End Function
Private Sub Commandl_Click()
Dim n As Integer ′n用于统计已经产生的随机整数个数
Dim i As Integer.j As Integer
Dim x As Integer.k As Integer
Randomize ′初始化Rnd函数
n=0
List1.Clear    ′清除列表框中内容
List2.Clear
Do While n<10
x=Int(Rnd*999)+1 ′产生[1,999]范围内的随机整数
If Not f(x) Then
n=n+1
a(n)="x"
List1.AddItem Str(  (1)  )
End If
Loop
For i="1" To 9   ′进行排序
For j="10" To i+1    (2)  
If a(j)<a(j-1) Then
k=a(j):a(j)=a(j-1):a(j-1)=k
End If
Next j   
Next i 
For i="1" To 10
List2.AddItem Str(a(i))
Next i
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2015-08-19 02:56:57

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

同类题1

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

小诗收集了全市部分教职员工的工资数据,设计了找中位数的程序如下。小诗收集的人员工资数据放在了 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)如图所示,数据库中一共有___________个教职员工。

同类题5

某学校高一年级共有500名学生,10个班,现需要根据某次考试的技术成绩从高到低进行考试号编排,考试号从100开始,如出现成绩一样的情况,则考试号按学生学号从大到小编排,如图所示。为此,小王编写了一个VB程序,程序功能如下:单击“读取数据”按钮 Command1,程序从数据库中读取学生的学号、成绩分别存储在数组xh、cj中,并在列表框List1输出;单击“编排”按钮Command2,程序进行处理,输出结果在列表框List2中。程序运行界面如图所示。
实现以上功能的VB程序如下,请回答下列问题:
(1)如原始数据里漏输了一个学生,已知该学生的学号为“20170240”,成绩为“99”,则增加该学生数据后,运行程序时,该学生的考试号为________。
(2)请在画线处填入合适的代码。
Const n=500
Dim xh(1 To n) As Integer    '存放学生学号
Dim cj(1 To n) As Integer    '存放学生成绩
Dim I,d,k,t,y As Integer
Private Sub Command1 Click()
'本过程从数据库中读取学生数据,存储在相应的变量中,并在List1中显示
'代码略
End Sub
Private Sub Command2_Click()
For i=1 To n-1

For j=n To i+1 Step-1

If c(j)>cj(j-1) Then
t=ci(j):cj(j)=cj(j-1):cj(j-1)=t
t=xh(j):xh(j)=xh(j-1):xh(j-1)=t
End If

 

Next j

Next i
k=1
For i=2 To n

If______Then

k=k+1
y=0

Else

y=1

End If

If (y=l And k> 1) Or (i=n And k> 1) Then

For d=i-k To i-2
For______To(i-k+1) Step-1
If xh(j)>xh(j-1) Then
t=xh(j):xh(i)=xh(j-1):xh(j-1)=t
End If
Next j
Next d
k=1

End If

Next i
List2.Clear
List2.AddItem " "+"学号"+"  "+"技术成绩"+"  "+"考试号"
For i=1 To n
List2.AddItem Str(xh(i))+"  "+Str(cj(i))+"  "+_____
Next i
End Sub