浙江省之江教育评价联盟2019-2020学年高三上学期信息技术第二次联考试卷
年级: 学科:信息技术(信息科技) 类型:月考试卷 来源:91题库
一、选择题(本大题共12小题,每小题2分,共24分) (共12小题)
s = "2019Nian12yue3Ri"
For i = Len(s)-1 To 1 step -1
If Mid(s, i, 1) <= "9" And Mid(s, i + 1, 1) >= "A" Then
sum= sum+ Val(Mid(s, i, 1))
End If
Next i
运行程序后,变量sum 的值是( )
x = ①
t = 0: s = ""
Do While x <> 0
t = ②
x = x \ 10
Loop
If ③ Then Then Then s = "是9的倍数" Else s = "不是9的倍数"
Dim a(1 To 5) As Integer
For i = 1 To 5
a(i) = Int(Rnd * 30 + 10)
t = t + a(i) \ 10
Next i
For j = 1 To t \ 3
If j Mod 2 = 1 Then a(j) = a(j) + 1 Else a(j) = a(j) - 1
Next j
运行程序后,数组a各个元素的值,不可能的是( )
s = "defghiabc"
key = Text1.Text
i = 1: j = Len(s)
Do While i <= j
m = (i + j) \ 2
c = Mid(s, m, 1)
If c = key Then Exit Do
If Mid(s, i, 1) < c Then
If key >= Mid(s, i, 1) And key < c Then j = m - 1 Else i = m + 1
Else
If key > c And key <= Mid(s, j, 1) Then i = m + 1 Else j = m - 1
End If
ans = ans + Str(m)
Loop
运行程序后,若在文本框Text1中输入字符"b",则变量ans的值是( )
二、非选择题(本大题共4小题,4+8+7+7,共26分) (共4小题)
图a
图b
图c
图a



图b
a(1) |
a(2) |
a(3) |
a(4) |
a(5) |
19 |
17 |
6 |
4 |
3 |
a数组
b(1) |
b(2) |
b(3) |
b(4) |
b(5) |
b(6) |
5 |
7 |
8 |
13 |
15 |
20 |
b数组
c(1) |
c(2) |
c(3) |
c(4) |
c(5) |
c(6) |
c(7) |
c(8) |
c(9) |
c(10) |
c(11) |
3 |
5 |
7 |
13 |
17 |
20 |
19 |
15 |
8 |
6 |
4 |
c数组
当窗体Form1加载时,自动产生a、b数组的数据,并分别显示在列表框List1与List2中,单击合并按钮Command1后,在c数组中保存按规则合并后的a、b数组的数据,并显示在列表框List3中。程序截图如下所示:
实现该功能的VB程序如下:
Const m = 5
Const n = 6
Dim a(1 To m) As Integer
Dim b(1 To n) As Integer
Dim c(1 To m + n) As Integer
‘窗体加载时,生成数组a、b中的数据,并按要求排序后显示在列表框中,代码略
Private Sub Command1_Click()
Dim pa As Integer, pb As Integer, pc As Integer, s As Integer, flag As Boolean
pa = m: pb = 1: pc = 1
flag = True
Do While ①
If a(pa) < b(pb) Then
s = a(pa)
pa = pa - 1
Else
s = b(pb)
pb = pb + 1
End If
c(pc) = s
If flag Then
pc = m + n - pc + 1
Else
pc =
End If
②
Loop
‘处理a、b数组中剩余数据,并在列表框List3中输出数组c,代码略
End Sub
① ②
⑴从左向右将13个数字按顺序排列,最左边的是第1位,最右边的是第13位(即校验位)。将所有偶数位的数据相加,结果乘3,得到p。将除校验位以外所有奇数位的数据相加,得到q。
⑵计算p加q得到的和除以10的余数,再计算该余数以10为模的补数(如3以10位模的补数为7,8以10为模的补数为2)。
⑶若补数与校验位相等,则验证正确,否则验证错误。
小李对上述校验规则进行了加密处理,他将前12位数字分成3个一组。每组上每个数字分别循环向左移1位轮换(如第2位移到第1位,第7位移到第9位),再分别加上所处的位置后除以10 的余数,示例如下:
位置 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
原文 |
9 |
7 |
8 |
7 |
5 |
1 |
0 |
1 |
3 |
7 |
0 |
1 |
3 |
轮换 |
7 |
8 |
9 |
5 |
1 |
7 |
1 |
3 |
0 |
0 |
1 |
7 |
3 |
密文 |
8 |
0 |
2 |
9 |
6 |
3 |
8 |
1 |
9 |
0 |
2 |
9 |
3 |
小李还编写了解密验证程序,代码如下,运行界面如图所示。
Private Sub Command1_Click()
Dim i As Integer, t As Integer, code As String, res As String
Dim p As Integer, q As Integer, x As Integer
Dim a(1 To 13) As Integer
code = Text1.Text
For i = 1 To 12
ch = Mid(code, i, 1)
t = ①
a(i + 1 - ( ② ) * 3) = t
Next i
For i = 1 To 12
If i Mod 2 = 0 Then p = p + a(i) Else q = q + a(i)
Next i
x = ③
If x = Val(Mid(code,13,1)) Then res = "验证正确" Else res = "验证错误"
Label3.Caption = res
End Sub
请回答下列问题:
① ② ③