学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
在美国国家信息交换码中,ASCII值从32到127是可以打印并显示的字符,把这96个字符随机调整次序,生成密码本。根据输入的密钥和明文,单击“加密”按钮Command1,输出密文。基本算法如下:
1)用数组mab分别记录1~96个字符的ASCII值,用数组zm记录对应字符在密码本中位置,如mab(9)=65,表示密码本中第9个字符是“A”,则对应的zm(65)=9;
2)把密钥中每个字符的ASCII值的各个数字进行累加(如Hi分别为(7+2)+(1+0+5)),将累加的和除以9取余数后加7,作为将密码本转换成二维表的列数;
3)每个明文在转换后二维表中位置作为密文,该位置是用十六进制表示的行号和列号。
程序运行的界面如下图所示:

实现上述功能的VB程序如下,请回答以下问题:
(1)若输入密钥为“AB”,则根据算法及密码本,字母“A”加密后的密文是____________。
(2)请在划线处填入合适的代码。
Dim Mab(96) As Integer ’存储密码本中每个字符的ASCII值
Dim zm(127) As Integer ’存储ASCII值32至127的字符在密码本数组mab中的下标
Private Sub Form_Load()
’产生密码本及96个字符在密码本中位置,代码略。
End Sub
Function p(s As String) As Integer
Dim i As Integer, t1 As Long
Dim sum As Integer, s1 As String
t1=0
i=1
Do While i<=Len(s)

s1=Mid(s, i, 1)

t1=Asc(s1)

________ 

i=i+1

Loop
p=sum Mod 9+7
End Function
Private Sub Command1_Click()
Dim i As Integer, t As Integer, hang As Integer
Dim s As String, s1 As String, Lie As Integer
List1.Clear
s1=Text1.Text
t=p(s1)
Label5.Caption= “将密码本换成一张”+Str(t)+ “列的二维表”
i=1
Do While i<=96
s=s+Chr(Mab(i))+ “”
If i Mod t=0 Or i=96 Then
List1.AddItem s
s= “”

End If

i=i+1

Loop
wz= “123456789ABCDEF”
s=Text2.Text
For i =1 To Len(s)
s1=Mid(s, i, 1)
_______
hang=(t1-1)\t+1
lie=(t1-1) Mod t+1
s2= _______
Next i
Text3.Text=s2
End Sub
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交