15.統(tǒng)計(jì)學(xué)中的“中位數(shù)”是這樣的一種數(shù):一組數(shù)據(jù)里的一半的數(shù)據(jù)比它大,而另外一半數(shù)據(jù)比它小。計(jì)算一組數(shù)據(jù)的中位數(shù)的方法是:把所有數(shù)據(jù)按照非升的次序排列。如果數(shù)據(jù)的個(gè)數(shù)是奇數(shù),則中間那個(gè)數(shù)就是這組數(shù)據(jù)的中位數(shù);如果個(gè)數(shù)是偶數(shù),則中間兩個(gè)數(shù)的算術(shù)平均值是中位數(shù)。
小詩(shī)收集了全市部分教職員工的工資數(shù)據(jù),設(shè)計(jì)了找中位數(shù)的程序如下。小詩(shī)收集的人員工資數(shù)據(jù)放在了 Access 數(shù)據(jù)庫(kù)中。小詩(shī)的程序在窗體加載時(shí)讀出了所有人員的數(shù)據(jù):姓名放在數(shù)組a中,對(duì)應(yīng)的工資放在數(shù)組b中,數(shù)據(jù)總記錄數(shù)放在n中。單擊按鈕 Command1后先以工資按非升的次序排序,然后找出中位數(shù)。
(1)要使程序運(yùn)行時(shí),從數(shù)據(jù)庫(kù)中讀取所有人員的數(shù)據(jù),可在事件過(guò)程中添加相關(guān)代碼。
(單選,填字母: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
‘?dāng)?shù)據(jù)庫(kù)讀取所有人員的數(shù)據(jù)代碼略
Private Sub Command1_Click ( ?。?br />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
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=“中位數(shù)是:“& Str(median)
End Sub
(2)將橫線處代碼補(bǔ)充完整。
(3)程序代碼中,波浪線
處有錯(cuò),請(qǐng)改正。
(4)如圖所示,數(shù)據(jù)庫(kù)中一共有個(gè)教職員工。