学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
ROT-13(回转13位)是一种简易的替换式密码,编码解码规则相同,针对英文字母,仅仅只需要检查字母顺序并用13位后的对应字母取代它,超过时则重新绕回26个英文字母开头即可。即A换成N、B换成O,以此类推到M换成Z,然后序列反转;N换成A、O换成B……
小明决定以ROT-13为基础制定新的ROT-n,即每次回转不是13位,而是n位。因此他引入了11位数字密钥和字符位置来计算n的值,并扩大加密范围,使得大小写字母和数字都能加密,从而达到加密效果增强的目标。具体规则如下:
(1)字符在奇数位置上n的值即当前对应密钥值,偶数位置上n的值为当前段密钥中已经出现的所有数字之和。
(2)数字字符在“0”到“9”之间回转,即超过“9”部分返回“0”开始继续计算;大写字母在“A”到“Z”范围内回转,小写字母在“a”到“z”范围内回转,其它字符不变。例如:当密钥为“123”时,对应加密方式如下:
 
第一段
第二段
第三段

字符位置
1
2
3
4
5
6
7
8
9
密钥
1
2
3
1
2
3
1
2
3
n的值
1
3
3
1
2
6
1
3
3
原文
H
e
1
1
o
2
0
1
9
密文
I
h
o
m
q
8
1
4
2
 
程序界面如下图所示:
                  
程序代码如下:
Private Sub Command1_Click()
Dim i, z, m, js As Integer
Dim s, c, h, t As String
Const my ="14159265358"
Text2.Text = "   "
s = Text1.Text
z=1
For i.= 1 To Len(s)

    

If z=12 Then z=1:js =0

m = Val(Mid(my, z, 1))

js =js+m

If    Then n =js Else n =m

If c >= "0" And c<= "9" Then

h= CStr((Val©+ n)Mod 10)

ElseIf c >="A" And c <= "Z" Or c>= "a" And c<="z" Then

t = Chr(Asc©+ n Mod 26)
If c>="A" And c <="Z" Then
If Not(t >="A" Andt<="Z")Then h =Chr(Asc(t)-26)Else h =t
Else
If Asc©+n Mod 26 >122 Then h=Chr((Asc©+n Mod 26)-26)Else h =t
End If

Else

h=c

End If

Text2.Text = Text2.Text +h

    

Next i
End Sub
请回答下列问题:
(1)解密过程为加密过程的逆运算,即由密文字符向前推导n位寻找原字符,现已知密钥为123,密文“WEjpqj”(无双引号)对应的原文是______________。
(2)程序功能实现则代码中划线部分请填入合适代码
①处代码______________;②处代码______________;③处代码______________。
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

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
我要答疑
编写解析
解析:

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

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