当前位置: 高中信息技术 / 综合题
  • 1. (2021·湖州模拟) 用VB编写字符串“密码破译”程序,其功能如下:在文本框Text1中输入任意一串字符串,字符串长度为n*n(n为自然数),单击“解密”按钮Command1,在文本框Text2中输出解锁密码。解锁密码破译步骤如下:将字符依次存储到数组a中,存储方式从左下向右上,平行于矩阵的对角线依次进行存储,以长度为36的字符串“Toleranceisthemental,YouSheng优胜一筹”为例,数组a元素对应的赋值情况如图a所示;将对角线字符从右上向左下依次相连即为解锁密码。程序运行效果如图b所示。

    图 a

    图 b

    实现上述功能的 VB 程序如下,请回答下列问题:

    1. (1) 若输入的字符串内容为“abcdefghijklmnopqrstuvwxy”,则破译后的解锁密码为
    2. (2) 请在划线处填写合适代码,使程序正常运行。

      Private Sub Command1_Click()

          Const n = 6

          Dim a(1 To n * n) As Integer

          Dim b(1 To n * n) As String

          Dim i As Integer, j As Integer, k As Integer, s As String

          Dim zf As Integer     '变量zf存储数组a元素的值

          Dim xb As Integer      '变量xb存储数组a的下标

          Dim p As Integer

          For i = 1 To Len(Text1.Text)

              b(i) = Mid(Text1.Text, i, 1)

          Next i

          k = 1

          For i = 1 To n

              k = k + (i - 1)

              zf = k

             

              a(xb) = zf

              p = i + 1

              For j = 2 To n

                  If j <= n - i + 1 Then

                      zf = zf + p

                      a(xb + j - 1) = zf

                      p = p + 1

                  Else

                     

                      zf = zf + p

                      a(xb + j - 1) = zf

                  End If

              Next j

          Next i

          For i = 1 To n

              s = s +

          Next i

          Text2.Text = s

      End Sub

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