2018-2019学年浙江省绍兴市诸暨市牌头中学高二(上)期中信息技术试卷
发布:2024/4/20 14:35:0
一、选择题(本大题共16小题,每小题2分,共32分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
-
1.在Visual Basic中,下列能作为变量名的是( )
组卷:2引用:2难度:0.9 -
2.能正确判断正整数x为偶数的VB表达式是( )
组卷:1引用:2难度:0.5 -
3.产生[a,b](a,b都是整数且a<b)范围内某一随机整数的VB表达式是( )
组卷:12引用:5难度:0.7 -
4.【加试题】变量a中存储了一个字符,能够正确判断该字符为数字字符“0”~“9”的VB表达式是( )
组卷:11引用:3难度:0.7 -
5.以下程序段运行时出现如图所示的错误提示:
For i=1To 100
If Rnd>0.5Then
n=n+1
Else
m=m+1
Next i
分析该程序段,该代码中缺少了( )组卷:10引用:1难度:0.5 -
6.如下VB程序代码,
For i=3to 15step x
Print“*“
Next i
下列说法中正确的是( )组卷:2引用:2难度:0.5
二、填空题(本题共3大题,其中17题4分,18题6分,19题8分,共18分)
-
18.运动会田径比赛,记分裁判把各赛道运动员的成绩表交给录入员录入到计算机中,录入人员编制了如下程序.运行程序,按道次顺序依次输入8个成绩,道次号存放在数组a中,相应道次的运动员比赛成绩存放于数组b中,并将原始成绩显示在列表框List1中.单击“成绩排序”按钮(Command1),将原始成绩从好到差排序,排序结果显示在列表框List2中.运行效果如图所示.
实现上述功能的VB程序如下:
(1)请在横线处填入合适代码.
Dim a(1To 8)As Integer'存储道次编号
Dim b(1To 8)As Single'存储运动员成绩
Dim num As Integer
Private Sub Command1_Click ( )
Dim i As Integer,j As Integer,k As Integer,p As Integer
Dim t As Single
For i=1To 7
k=i
For j=i+1To 8
If
k=j
End If
Next j
If k<>i Then
p=a(i):a(i)=a(k):a(k)=p
t=b(i):b(i)=b(k):b(k)=t
End If
Next i
For i=1To 8
List2.AddItem Str(a(i)) &“道:“& Str(b(i))
Next i
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)'按回车键录入比赛成绩
Dim cj As Single
If KeyAscii=13Then
num=num+1
cj=Val(Text1.Text)
If cj>0And num<=8Then
a(num)=num
List1.AddItem Str(a(num)) &“道:“& Str(b(num))
Else
MsgBox“输入无效“
End If
Text1.Text=““
End If
End Sub
(2)在Command1_Click组卷:5引用:3难度:0.1 -
19.某编码由4 个信息位和3 个校验位组成,通过对编码信息进行验算,能够检测并纠正一位错误代码。该7 位编码中b1~b4 为信息位,p1~p3 为校验位,位置如下:
编码中位 1 2 3 4 5 6 7 对位信息 p1 p2 b1 p3 b2 b3 b4
g1=p1Xor b1Xor b2Xor b4
g2=p2Xor b1Xor b3Xor b4
g3=p3Xor b2Xor b3Xor b4
其中Xor 为异或运算,规则是:0Xor 0=0,0Xor 1=1,1Xor 0=1,1Xor 1=0,
p1Xor b1 是将p1、b1 转换为二进制后按位进行异或运算,如7Xor 12 的结果为11。
(1)若计算得到的校验值g1、g2、g3 均为0,说明校验正确,数据无错误。例如:若7 位编码为1101001,计算校验值g1、g2、g3 值均为0,验证正确。
(2)若校验值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 程序如下,请回答下列问题:
(1)若按上述规则的7 位编码为1001000,其中一位有错,则正确的编码应为
(2)请在横线处填入合适的代码。
Function check(s As String) As Integer
Dim i As Integer,g1As Integer,g2As Integer,g3As Integer
Dim c(1To 7)As Integer
For i=1To 7
c(i)=Val(Mid(s,i,1))
Next i
g1=c(1)Xor c(3)Xor c(5)Xor c(7)
g2=c(2)Xor c(3)Xor c(6)Xor c(7)
g3=c(4)Xor c(5)Xor c(6)Xor c(7)
If g1+g2+g3=0Then check=0Else check=
End Function
Private Sub Command1_Click ( )
Dim i As Integer,m As Integer,Outs As String
m=
If m=0Then
Text2.Text=“验证正确,数据无错误“
Else
For i=1To 7
If i=m Then
Outs=Outs+Chr( Asc(Mid(Text1.Text,i,1)) Xor
Else
Outs=Outs+Mid(Text1.Text,i,1)
End If
Next i
Text2.Text=“第“+Str(m)+“位上数据有错误,正确编码应为:“+Outs
End If
End Sub组卷:2引用:1难度:0.5