某加密算法对大写字母加密,其加密规则如下:密文的ASCII码值=明文的ASCII码值+密钥,加密后生成的密文仍为大写字母。其密钥是在3*3矩阵中获得,获得密钥的方式为:如字母“A”的ASCII码值为65,将65反复除3,其转换过程如图1所示,得到商为2,密钥在矩阵中所在行;得到余数2,密钥在矩阵中所在列;商或余数为0,密钥在矩阵中最后一行或最后一列。其程序运行界面如图2所示。
(1)
下列对象中没有Caption属性的是(单选,填字母:A .Command1 /B .Form1 /C .Text1和Text2)。
(2)
实现上述功能的VB程序如下,请在划线处填入合适的代码。
Dim a(1 To 9) As Integer
Private Sub Command1_Click()
Dim column As Integer, row As Integer, t As Integer, tmp As Integer
Dim s As String, ch As String, result As String
s = Text1.Text: result = ""
For i = 1 To Len(s)
ch = Mid(s, i, 1): t =.
column = (t - 1) Mod 3 + 1
Do While t >= 3
t = t \ 3
Loop
row =
tmp = (Asc(ch) + - 65) Mod 26 + 65
result = result + Chr(tmp)
Next i
Text2.Text = result
End Sub
Private Sub Form_Load() '用来生成3*3矩阵
For i = 1 To 9
a(i) = Int(Rnd * 9) + 1
s = s + Str(a(i))
If i Mod 3 = 0 Then
List1.AddItem s
s = ""
End If
Next i
End Sub
(3)
程序中加框处代码有错,请改正。
(4)
根据程序的功能并结合图2,字母C加密后的密文为。
答案: 【1】C
【1】Asc(ch)【2】a((row - 1) * 3 + column)
(t-1)Mod 3 + 1 或(t+2)Mod 3 + 1 或(t-1+3)Mod 3 + 1
【1】F