题型:填空题 题类:模拟题 难易度:困难
浙江省杭州市2015年高考信息技术模拟卷9
当主持人点击按钮“生成抽号”后,下方的标签会显示可抽取的学号姓名,一定时间后显示被抽取作为监票人的学号姓名。
'xxxss:学校学生数,kcq:可抽取
'xhxm:学号姓名,kcq:可抽取
Dim xxxss As Integer
Dim xhxm(3000) As String
Dim kcq(3000) As Boolean
'cq_Click:启用两个定时器
Private Sub cq_Click()
cqxhxm.Enabled = True
xskcqxhxm.Enabled = True
End Sub
Private Sub cz_Click() '初始化数组kcq,使每个元素数据都处于可显示状态
For i = 0 To xxxss - 1
kcq(i) = True '①
Next i
End Sub
Private Sub xskcqxhxm_Timer() '若数组kcq第x个元素处于可抽取状态,则显示数组xhxm第x个元素
x = Int(Rnd * xxxss)
If kcq(x) Then xhxmbq.text = kcq(x) '②
End Sub
Private Sub Form_Load() '从数据库中提取需要的学号姓名相关数据并初始化数组kcq
Randomize
xxxss = 0
Dim conn As New ADODB.Connection,rs As New ADODB.Recordset
Dim str_conn as String,str_sql As String
str_conn = "driver=Microsoft access driver(*.mdb);DBQ="&app.path&"\school.mdb";
conn.open str_conn
str_sql = "select * from students"
rs.open str_sql
Do While Not rs.eof
xxxss = xxxss + 1
xhxm(xxxss) = rs.fields("xuehao")&rs.fields("xingming")
rs.movenext
Loop
For i = 0 To xxxss - 1
kcq(i) = True
Next i
End Sub
Private Sub cqxhxm_Timer() '决定抽取的学号姓名作为监票人
xskcqxhxm.Enabled = False
For i = 0 To xxxss - 1
If xhxmbq.Caption = xhxm(i) Then kcq(i) = False
Next i
cqxhxm.Enabled = False
End Sub
①
②
①两位D组裁判分别打“难度分”,取平均值作为该参赛选手的最终难度分。
②五位E组裁判分别打“完成分”,在5个E组打分结果中,去掉一个最高分和一个最低分,然后取平均值作为该参赛选手的最终完成分。
③难度分和完成分之和,即该参赛选手的最终得分。
例如:某参赛选手打分如下:
D组裁判打分 |
E组裁判打分 |
|||||
6.5 |
6.9 |
9.5 |
9.0 |
8.3 |
8.8 |
7.6 |
该选手“难度分”为(6.5+6.9)/2=6.7。E组裁判打分去掉一个最高分和一个最低分之后,计算“完成分”为(9.0+8.3+8.8)/3=8.7。所以该选手最终得分为6.7+8.7=15.4分。
小杜编写一个VB程序:程序运行时从数据库读取参赛选手人数和参赛选手的打分数据,依次存储在数组a中;单击“统计”按钮,依据数组a中的相关数据统计各选手的“难度分”“完成分”和“最终得分”,并在列表框List1中输出。数组a各元素的含义如下,程序运行界面如图所示。
数组元素 | 数组元素的含义 |
a(0) | 存储参赛人数n |
a(1) | a(1)和a(2)为第1位选手的D组两位裁判的打分。 a(3)、a(4)、…、a(7)为第1位选手的E组五位裁判的打分 |
… | |
a(7) | |
a(8) | a(8)和 a(9)为第2位选手的D组两位裁判的打分。 a(10)、a(11)、…、a(14)为第2位选手的E组五位裁判的打分 |
… | |
a(14) | |
… | … |
实现上述功能的VB程序如下,请回答下列问题:
试题篮