题型:综合题 题类:常考题 难易度:普通
浙江省高中信息技术 VB访问Access数据库同步练习
①两位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程序如下,请回答下列问题:
Dim a(0 To 210) As Single ‘数组大小满足处理要求
Dim d(1 To 30) As Single ‘依次各选手的难度分
Dim e(1 To 30) As Single ‘依次各选手的完成分
Dim f(1 To 30) As Single ‘依次各选手的最终得分
Private Sub Command1_Click()
‘本过程从数据库读取相关数据,存储在数组a中
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn ConnectionString=“provider=Microsoft.ACE.OLEDB.12.0; data source=”+“成绩.accdb”
conn.Open
Set rs.ActiveConnection=conn
‘本过程的其他语句略
End Sub
Private Sub Command2_Click()
‘依据数组a中的相关数据统计各班级平均分
Dim i As Integer, j As Integer, n As Integer, p As Integer
Dim max As Single, min As Single, sum Single
For i=1 To n
p=(i-1)*7+1
d(i)=(a(p)+a(p+1))/2
sum=0
max=a(p+2) : min=a(p+2)
For j=p+2 To p+6
sum=sum+a(j)
If a(j) > max Then max=a(j)
min=a(j)
Next j
e(i)=(sum-max-min)/3
f(i)=d(i)+e(i)
List1.AddItem Str(i)+“ ”+Str(d(i))+“ ”+Str(e(i))+“ ”+Str(f(i))
Next i
End Sub
校验值计算规则如下:
第一步:将身份证号前17位数字分别乘以不同的系数后相加,对应系数如下表所示。
位数 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
系数 |
7 |
9 |
10 |
5 |
8 |
4 |
2 |
1 |
6 |
3 |
7 |
9 |
10 |
5 |
8 |
4 |
2 |
第二步:将第一步的计算结果除以 11,得到余数。 第三步:根据第二步的计算结果从下表获取对应的校验值。
余数 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
校验值 |
1 |
0 |
X |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
例如:某身份证号为 34052419800101001X。要计算此身份证的校验值步骤如下:第一步:计算 3*7+4*9+0*10+5*5+……+1*2=189
第二步:189除以11得到余数为2
第三步:由余数2获取校验值X。
根据以上规则小王编写了一个验证身份证号是否有效的VB程序,功能如下:在文本框Text1中输入身份证号,单击“验证”按钮Command1后,在列表框List1中显示验证结果。程序运行界面如图1所示。
a=[20,32,56,12,48] maxx=a[0] for k in ①: if maxx<k: ② print( ③ ) |
试题篮