当前位置: 高中信息技术 / 综合题
  • 1. (2020高二下·慈溪期末) 某解密程序:对输入的字符串进行解密处理,输出解密后的字符串。已知数据加密方法为对原始字符串中的每个字符进行如下处理:

    ①将该字符的ASCII码转换为8位二进制数;

    ②将后4位二进制数逐位取反(1变0,0变1)

    ③将操作②生成的4位二进制数均右移一-位, 原第4位变成新的第1位;

    ④将原来的前4位二进制数连接新的后4位二进制数成为最终加密后字符的内码。

    例如字符“A”经过上述加密运算,可得到字符“M”。

    ASCII码

    转二进制数

    后4位取反

    后4位右移

    拼合

    转十进制

    转字符

    65D

    0100 0001B

    1110

    0111

    0100 0111B

    71D

    G

    程序运行界面如图所示,在文本框Text1中输入加密字符串。点击“解密”按钮后,在文本框Text2中输出原始字符串。

    1. (1) 若加密后的字符为F,则原字符为
    2. (2) 请在横线处填入合适代码。

      Private Sub Command1_ Click()

        Dim s As String, s1 As String, s2 As String, n As Integer

        Dim x As Integer, i As Integer, j As Integer, C As Integer

        Dim a(15) As String

        a(0) = "000": a(1) = "0001": a(2) = "0010": a(3) =“011": a(4) = "0100":a(5) = "0101": a(6) ="0110": a(7) = "111": a(8) = "1000" a(9) ="1001":a(10) = "1010": a(11) ="1011": a(12) = "1100"a(13) = "1101": a(14)= "1110":a(15) ="1111"

        s2 = "": s = Text1. Text

        For i=1 To Len(s)

          n = Asc(Mid(s, i, 1))

          c=n Mod 16

          s1 = 

          x = Va1(Mid(s1, 1,1))

          For j=2 To  4

            x=x+

          Next j

          x=(n/16)*16

          s2 = s2 + Chr(x)

        Next i

        Text2. Text = s2

      End Sub

    3. (3) 加框处代码出错,请改正。

微信扫码预览、分享更方便