题型:综合题 题类:常考题 难易度:普通
浙江省高中信息技术 算法及VB语言基础单元检测
选票序列 | 1 | 0 | 1 | 2 | 3 | 3 | 3 | 0 | 3 |
含义 | 第1张选票投给1号 | 第2张选票弃权 | 第3张选票投给1号 | 第4张选票投给2号 | 第5张选票投给3号 | 第6张选票投给3号 | 第7张选票投给3号 | 第8张选票弃权 | 第9张选票投给3号 |
备注:选票序列101233303,序列中的数字i,表示投票给编号为i的人,即编号为i的人得1票,其中数字0表示不投给任何人,即为弃权。表中选票序列的投票结果为:1号得2票,2号得1票,3号4得票,4号、5号均为0票(没人投),所以3号得票数最高,被选为班长。 |
程序运行时,在文本框Text1中输入选票信息,单击“计算”按钮Command1后,被选为班长的编号显示在文本框Text2中。程序运行效果如图所示。
实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim a(1 To 5)As Integer
‘数组元素a(1)~a(5)依次存放编号为1~5的五位候选人的得票数
Dim st As String, i As Integer, j As Integer, n As Integer
Dim ans As Integer ‘变量ans存放被选为班长的人的编号
Dim max As Integer ‘变量max存放最多的得票数
st=Text1.Text
For i=1 To 5
a(i)=0
Next i
For i=1 To 5
For j=1 To n
IfThen
a(i)=a(i)+1
Next j
Next i
max=0
For i=1 To 5
If a(i)>max Then
max=a(i):ans=i
Next i
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程序如下,请回答下列问题:
试题篮