题型:综合题 题类:模拟题 难易度:困难
浙江省2019-2020学年普通高校招生选考科目信息技术考试试卷(三)
用户从Text1中输入计划人数,单击“入围划线”按钮Command1,面试分数线显示在文本框Text2 中,入围面试最终人数显示在 Text3中,进入面试考生的考号和笔试成绩显示在List2列表框中,如果成绩相同,则按考号从小到大的顺序显示。程序界面如图所示。
Dim kh(1 To 500) As String, cj(1 To 500) As Integer
Dim n As Integer ′参加考试总人数
Private Sub Form_Load()
Dim conn As New ADODB.Conncction
Dim rs As New ADODB.Recordset
conn.ConnectionString = “Provider=Microsoft.ACE.OLEDB.12.0;datasource=”+App.Path + ”\BSCJ.accdb”
conn.Open
Set rs.ActiveConnection = conn
rs.Open “select * FROM scoreinfo”
′本过程其他代码略
End Sub
Private Sub Commandl_click()
Dim m As Integer, i As Integer, j As Integer
Dim t1 As Integer, t2 As String, flag As Boolean
For i = 1 To n - 1
For j = 1 To
If cj(i) < cj(j) Then
t1 = cj(i): cj(i) = cj(j): cj(j) = t1
t2 = kh(i): kh(i) = kh(j): kh(j) = t2
EleIf ① Then
t2 = kh(i): kh(i) = kh(j): kh(j) = t2
End If
Next j
Next i
m = ②
If m <= n Then
i = m
flag = Flase
Do While i < n And Not flag
If cj(i) = cj(i + 1) Then
i = i + 1
Else
③
End If
Loop
Text2.Text = Str(cj(m))
Text3.Text = Str(i)
For j = 1 To i
List2.Addltem kh(j) + “ ” + Str(cj(j))
Next j
Else
Text2.Text = “面试人数超过了总人数”
End If
End Sub
① ② ③
编码中位 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
对位信息 |
p1 |
p2 |
b1 |
p3 |
b2 |
b3 |
b4 |
校验的方式如下,求校验值g1、g2、g3:
g1 = p1 Xor b1 Xor b2 Xor b4
g2 = p2 Xor b1 Xor b3 Xor b4
g3 = p3 Xor b2 Xor b3 Xor b4
其中Xor 为异或运算,规则是:0 Xor 0 =0,0 Xor 1 =1,1 Xor 0 =1,1 Xor 1 =0,
p1 Xor b1 是将p1、b1 转换为二进制后按位进行异或运算,如7 Xor 12 的结果为11。
⑴若计算得到的校验值g1、g2、g3均为0,说明校验正确,数据无错误。例如:若7位编码为1101001,计算校验值g1、g2、g3值均为0,验证正确。
⑵若校验值g1、g2、g3不全为0,说明数据有错,出错位置为g3g2g1(二进制数表示),纠错的方法是对错误的位进行取反,即“0”变“1”,“1”变“0”。例如:若7位编码为1111001,计算校验值g1=1、g2=1、g3=0,不全为0,说明数据有错,错误位置在011(二进制数)位,即第3位,原位置上“1”应为“0”,正确编码为1101001。
小明为此编写了VB程序,程序运行时,在文本框Text1中输入编码值,单击“校验”
按钮Command1后,在文本框Text2中输出运行结果,如图所示。
实现上述功能的VB程序如下,请回答下列问题:
试题篮