大写字母分段加密。输入n(n≤50)个大写字母组成的原文字符串,以规模m为一段进行加密。加密方法为:(1)找出每段中最长的连续递增子串长度max;(2)将该段每个字符后移max位进行加密,如果后移后的字母ASCII码值超过90(Asc("Z")=90),则从小写字母“a”(ASCII码值为97)开始表示;(3)规模不足m部分不做处理。
例如:n=10,原文字符串为“ABCXYEFDOK”,m=4时,处理过程如下:
其中,第1段中字母“X”后移4位后超过字母“Z”的ASCII码值,用“b”表示,第2段中字母“Y”后移2位用“a”表示用VB编写程序,程序运行时,在文本框Text1中输入原文字符串,在文本框Text2中输入每段个数,单击“加密”按钮Command1后,在文本框Text3中显示加密结果。程序运行界面如图所示。 实现上述功能的VB程序如下,请回答下列问题:
(1)
已知加密结果是“RaVJON”,m=4,根据上述加密规则,推得原文是
(2)
请在划线处填入合适的代码。
Dim a(0 To 50) As String, b(1 To 50) As Integer
Private Sub Command1_Click ()
Dim i As Integer, j As Integer, k As Integer, m As Integer, max As
Integer
n = Len(Text1. Text)
For i=1 To n
a(i) = Mid(Text1.Text, i,
1)
b(i) =
Next i
m=Val (Text2. Text)
max=1
For k=1 To n\m
For i=(k-1)*m+2 To k*m
j=i
Do while
b(i)=b(i)+1
j=j-1
Loop
If b(i)>max Then
max = b(i)
End If
Next i
For i=(k-1)*m+1 To k*m
s =s+ mingtoni (a(i), max)
Next i
max=1
Next k
If n Mod m <> 0 Then
For i=(n\m)*m+1 To n
s=s+ a(i)
Next i
End If
Text3.Text = s
End Sub
Function mingtomi(e As
String, d As Integer) As String
If Ase(c) + d > Asc("Z") Then
Else
mingtomi = Chr(Asc(c) + d)
End If
End Function
答案: 【1】PYTHON
【1】1【2】a(j)>a(j-1) And j>(k-1)*m+1或a(j)>a(j-1) And j <> (k-1)*m+1【3】mingtomi=Chr(Asc(c)+d+6)或其他等价答案