(加试题)维吉尼亚密码。如下图所示,分别用行和列表示待加密的字符(明文)和当前字符的密钥,行和列的交叉点的字符即为加密后的结果(密文)。在加密时,密文与明文的字母大小写形式保持一致,如:明文字母为大写,则加密后的密文字母也为大写;当密钥长度不足时重复使用密钥。

 

例如:当明文M=HelloWorld,密钥K=abc时,密文C=HfnlpYosnd。运算过程如下所示:
明文:HelloWorld
密钥:abcabcabca
密文:HfnlpYosnd
依据上述算法描述设计了如下VB程序。请回答下列问题:
(1)若明文是Jia,密钥是Pass,则输出的密文是:_________
(2)请在划线处填上合适的代码
Const MIN_ASC = 65
Function X2D(x As String) As String
Dim s As String, zf As String, i As Integer
s = ""
For i = 1 To Len(x)
zf = Mid(x, i, 1)
If zf >= "a" And zf <= "z" Then
s=s+ ________
Else
s = s + zf
End If
Next i
X2D = s
End Function
Private Sub Command1_Click()
Dim M As String, K As String, C As String, flag As Boolean
Dim i As Integer, t As Integer, ch As Integer, pos As Integer, j As Integer
M = Text1.Text '明文
K = Text2.Text '密钥
t = Len(K)
K = X2D(K)  
C = ""
For i = 1 To Len(M)
ch = Asc(Mid(M, i, 1))
flag = False
If ch >= 97 And ch <= 122 Then ch = ch - 32: flag = True
pos= ________ '密钥的字符位置值
If pos = 0 Then pos = t
j = Asc(Mid(K, pos, 1)) '密钥字符的ASCII值
ch = ch - MIN_ASC
j = j - MIN_ASC
ch= ________
ch = ch + MIN_ASC
If flag Then ch = ch + 32 '设置字母的大小写形式
C = C & Chr(ch)
Next i
Text3.Text = C
End Sub
当前题号:1 | 题型:填空题 | 难度:0.99
(加试题)有如下VB程序段:
k = Val(Text1.Text)
left1 = 1: right1 = 10
Do While (left1 <= right1)
mid1 = (left1 + right1) \ 2
If a(mid1) <=k Then
left1 = mid1 + 1
Else
right1 = mid1-1
End If
Loop
Text2.text=str(right1)
已知数组a(1)到a(10)的原始数据为1,4,5,5,5,5,8,9,9,10.程序运行时,在文本框text1中输入5,文本框text2显示的内容是()
A.5
B.10
C.3
D.6
当前题号:2 | 题型:选择题 | 难度:0.99
编“字符串缩写”程序,实现如下功能:在文本框Text1中输入Ascii字符串,字符串中如果有由Ascii表中相邻字符(升序)组成的子串,则把该子串缩写成由第一个字符、“-”和最后一个字符组成,比如“abcdfpxcba”则缩写成“a-dfpxcba”。程序运行界面如下图所示。

(1)代码“Private Sub Command1_Click()”中的Command1_Click()是________
(单选,填字母:
A.对象名 /B.事件  /C.事件处理过程)
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim s As String, result As String, i As Integer, j As Integer, t As Integer
s = Text1.Text :t = Len(s) :result = ""
i=1
Do While i <= t
j = i
Do While i < t
If Asc(Mid(s, i + 1, 1)) = Asc(Mid(s, i, 1)) + 1 Then
i = i + 1
Else
Exit Do
End If
Loop
If i > j Then
result =  ①________
Else
result = result + Mid(s, i, 1)
End If
i = i + 1
Loop
Text2.Text = ②________
End Sub
(3)如果输入的字符串是“aBcucwxyzdcb”,输出结果为____________
当前题号:3 | 题型:填空题 | 难度:0.99
(加试题)下列程序执行后文本框Text1 显示的内容是()
s = "ERROR:Divisor must not be zero!"
flag = False: m = 0
For i = 1 To Len(s)

ch = Mid(s, i, 1)

If ch >= "a" And ch <= "z" Then

If Not flag Then

m = m + 1

flag = True

End If

Else

flag = False

End If

Next i
Text1.Text=Str(m)
A.4
B.5
C.6
D.19
当前题号:4 | 题型:选择题 | 难度:0.99
某算法的部分流程图如下图所示,执行这部分流程后,输出c的值是()
A.50
B.34
C.55
D.60
当前题号:5 | 题型:选择题 | 难度:0.99
有如下程序段:
Dim a(1 To 10) As Integer
Dim i As Integer, j As Integer, m As Integer
Dim key As Integer
i = 1: j = 10: key = Val(Text1.Text)
Do While i <= j
m = (i + j) \ 2
If key < a(m) Then
j = m - 1
ElseIf key > a(m) Then
i = m + 1
Else
Do While m > 1
If a(m - 1) = key Then
m = m - 1
Else
Exit Do
End If
Loop
Exit Do
End If
Loop
数组中a(1)到a(10)依次为“1,1,2,3,3,3,3,4,4,4”,若在文本框Text1中输入值3,经上述程序段执行后变量m的值为
A.7
B.6
C.5
D.4
当前题号:6 | 题型:选择题 | 难度:0.99
某算法的部分流程图如图所示,执行这部分流程图,依次输入12,20,-15,45,9,则输出b的值是( )
A.12B.-15C.45D.9
当前题号:7 | 题型:选择题 | 难度:0.99
一个摸球游戏的流程图如图所示(红球总数和绿球总数均大于0)。游戏结束时,S位所代表的是( )
A.摸到的绿球数B.摸到的红球数C.未摸到的绿球数D.未摸到的红球数
当前题号:8 | 题型:选择题 | 难度:0.99
某算法的部分流程图如下图所示,执行这部分流程,则“s≤100?”被执行的次数是(▲ )
A.2
B.3
C.4
D.5
当前题号:9 | 题型:选择题 | 难度:0.99
(加试题)一个十进制整数的二进制表示中,如果数字“1”的个数多于数字“0”的个数,则称该整数为A类数。如十进制整数26的二进制表示为11010,26是一个A类数。下列VB程序的功能是:统计前1000个自然数中A类数的个数,并在文本框中输出。请在划线处填入合适代码。
Private Sub Command1_Click()
Dim i As Integer, n As Integer
Dim s As Integer, t As Integer, k As Integer
s = 0
For i = 1 To  1000
n = i
t = 0
k = 0
Do While n > 0
If n Mod 2 = 1 Then t = t + 1 Else k = k + 1
___________________
Loop
If ___________________Then s = s + 1
Next i
Text1.Text = Str(s)
End Sub
当前题号:10 | 题型:填空题 | 难度:0.99