VB_Python代码对照算法百题(009)

VB_Python代码对照算法百题(009)

VB代码:

(2016年10月浙江)17.小李与小王合作编写一个成绩统计的VB程序:小王编写一个过程,该过程从数据库读取某一指定科目的相关数据,存储在数组a中;小李编写一个过程,该过程依据数组a中的相关数据统计各班平均分。小李与小王约定的数组a各元素含义如图所示。 

程序功能如下:在文本框Text1中输入科目名称,单击“读取数据库”按钮Command1,程序从数据库读取数据;单击“开始统计”按钮Command2,程序进行统计处理,结果输出在列表框List1中。程序运行界面如下图所示。

VB_Python代码对照算法百题(009) VB_Python代码对照算法百题(009)

实现上述功能的VB程序如下,请回答下列问题: 

(1)根据程序运行界面中的数据及数组a各元素的含义,数组元素a(5)的值为————(填写数值)。 

(2)分析程序,可知数据库的文件名为:———— 

(3)请在划线处填入合适的代码。 

Dim a(1 To 600) As Integer    ‘数组大小满足处理要求 

Private Sub Command1Click() ‘本过程由小王完成,从数据库读取指定科目的各相关数据,存储在数组a中

Dim conn As New ADODB.Conncction

Dim rs As New ADODB.Recordset

conn ConncctionString = “provider=Microsoft.ACE.OLEDB.12.0;data

source=” + “Score.accdb”

conn.Open

Set rs.ActiveConnection = conn   ‘本过程的其他语句略

End Sub

Private Sub Command2_Click() ‘依据数组a中的相关数据统计各班级平均分 Dim i As Integer, j As Integer, n As Integer

Dim p As Integer, sum As Integer, aver As Single

 ①————

 p = n + 2

 For i = 1 To n

    sum = 0

    For j = 1 To a(i + 1)

        ②————

        p = p + 1

    Next j

    aver = sum / a(i + 1)

    List1.AddItem Str(i) + ”   ” + Str(a(i + 1)) + ”   ” + Str(aver)

Next i

End Sub

参考答案:

(1) 33

(2) Score.accdb

(3)① n=a(1)  ② sum=sum+a(p)

Python代码(小李编写的过程):

VB_Python代码对照算法百题(009)