题目

某数据解密算法描述如下:1)在输入的数字字串中依次提取有效的密文,有效的密文是一组连续的,都小于5的三位数字串; 2) 数字不能重复被提取:3)对有效密文进行解密: ①将密文进行转换为一个十进制数值:例如密文242转换的表达式为:2*53+4*5*+2*5*=72 对应的明文字符为大写“H": ②得到的数值就是对应明文的ASCII 字符的十进制编码(提示:空格所对应的ASCII值为十进制32,小写字母“z”所对应的ASCII值为十进制数122); 程序运行界面如下图所示。在文本框Text1中输入密文,单击“解密”按钮,在文本框Text2 中输出解密后的明文密码。实现上述功能的VB代码如下: Private Sub Convnand1_Click()     Dim st, p, c1, c2, c3 As String     Dim i, d, res As Integer     st = Text1.Text: n = Len(st)     i=1:res=””     Do While i <=n- 2      '提取有效密文,并进行转换         c1 = Mid(st, i, 1): c2 = Mid(st, i + 1, 1): c3= Mid(st, i +2, 1)         If  Then    ‘①             p = Mid(st, i, 3)             d = conv(p)             If d>=32 And d<=122 Then res= res + Chr(d)                    ②               Else             i =i+1         End If     Loop     Text2 Text =    ③        End Sub ‘以下代码是将有效密文数字转换为十进制数的函数 Function conv(p As String) As Integer     Dim k As Integer, q As String, i As Integer     k=0:q=””     For i =ITo 3         q = Mid(p, i, 1)               ④           Next i     conv=k End Function (1) 若输入密文为“841497230235",则明文是 (2) 程序代码中①加框处的语句有错,请改正: (3) 程序代码中②下划线请补充完整: (4) 程序代码中③下划线请补充完整: (5) 程序代码中④下划线请补充完整: 答案: 【1】A 【1】c1< "5" and c2 < "5" and c3 < "5" 【1】i = i + 3 【1】res 【1】k = k * 5 + Val(q)或者 k = k+ + Val(q)*5^(3-i)
信息技术 试题推荐
最近更新