小月设计了一个VB程序,用于对全班55名同学的体质调查分析,该程序能将55名同学的身高与体重录入到数据库中,之后通过如图所示的VB应用程序计算出这些同学的BMI指数,并按BMI指数从小到大进行排序,并显示这些学生的体质情况。 注:BMI指数的计算公式为:BMI=体重(千克)除以身高(米)的平方(kg/m2)。 BMI<18.5为偏瘦(表明营养不足);BMI=18.5~24.9为体重正常;BMI=25~29.9为超重;BMI>30为肥胖。该VB应用程序的代码如下:Dim stuBMI(1 To 55) As SingleDim stuName(1 To 55) As StringPrivate Sub Command1_Click() Dim k As Integer, i As Integer, j As Integer Dim t1 As Single, t2 As String Dim Results As String For i = 1 To 54 For j = i + 1 To 55 If stuBMI(j) < stuBMI(k) then ② Next j If k<>I Then t1 = stuBMI(i): stuBMI(i) = stuBMI(k): stuBMI(k) = t1 t2 = stuName(i): stuName(i) = stuName(k): stuName(k) = t2 End If Next iList1.AddItem "姓名" + vbTab + "BMI指数" + vbTab + "结果" For i = 1 To 55 If stuBMI(i) < 18.5 Then Results = "偏瘦" ElseIf stuBMI(i) >= 18.5 And stuBMI(i) < 25 Then Results = "正常" ElseIf stuBMI(i) >= 25 And stuBMI(i) < 30 Then Results = "超重" Else Results = "肥胖" End If List1.AddItem stuName(i) + vbTab + str(stuBMI(i)) + vbTab + Results Next iEnd SubPrivate Sub Form_load() Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim strSQL As String Dim i As Integer conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + App.Path + "\Student.accdb" conn.Open strSQL = "SELECT * FROM Student" Set rs.ActiveConnection = conn rs.Open strSQL i = 0 Do While Not rs.EOF i = i + 1 stuName(i) = rs.Fields("StuName") stuBMI(i) = Round(rs.Fields("Weight") / rs.Fields("height") ^ 2, 1) rs.MoveNext Loop rs.Close conn.Close Set rs = Nothing Set conn = NothingEnd Sub
(1)
学生数据存入的数据库文件是。
(2)
程序中加框①处的代码有误,正确的VB代码是 。
(3)
程序中划线②处应该填入的代码是。
(4)
该程序按BMI指数从小到大排序的过程属于算法思想。
答案: 【1】Student.accdb
【1】K= I
【1】k = j
【1】选择排序