学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
某字符串加密算法,规则如下:
(1)根据字符串长度构建一个最小的n*n矩阵,将字符串中每个字符从左到右,自上而下顺序填入矩阵,不足部分用字符“*”代替;
(2)将矩阵转置(行列对换),然后将奇数行字母内码加上1,偶数行字母内码减1,字符为a、z或A、Z时做循环处理。比如,字符a减1为z;字符Z加1为A。
(3)按从左到右,从上而下依次取出字符,形成新的字符串。如图a为字符串“Go to the zoo.”的加密过程。编写VB程序,在文本框Text1中输入字符串,点击“加密”按钮,在文本框Text2中输出加密后的字符串。程序运行结果如图b所示。

a

b

(1)若在文本框Text1中输入3个字母“Far”,执行加密程序后,输出结果为___。
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码
Dim a(1 To 100) As String, b(1 To 100) As String, n As Integer
Private Sub Command1_Click()
Dim s1 As String, s2 As String,i As Integer, j As Integer, m As Single
s1 = Text1.Text
m = Sqr(Len(s1))
If m > Int(m) Then n = Int(m) + 1 Else n = m
For i = 1 To n * n
If i <= Len(s1) Then  a(i) = Mid(s1, i, 1)   Else  a(i) = "*"
Next i
For i = 1 To n
For j = 1 To n
b((i - 1) * n + j) = ___________‘将矩阵转置
b((i - 1) * n + j) = jm(i,j)   ‘内码变换
Next j
Next i
s2 = ""
For i = 1 To n * n
s2 = s2 & b(i)
Next i
Text2.Text = s2
End Sub
Function jm(x As Integer, y As Integer) As String
Dim s As String
s = b((x - 1) * n + y)
If s <= "Z" And s >= "A" Or s <= "z" And s >= "a" Then
If x Mod 2 <> 0 Then
If s <> "Z" And s <> "z" Then
s = Chr(Asc(s) + 1)
Else
s = Chr(Asc(s) - 25)
End If
Else
If s <> "a" And s <> "A" Then
s = Chr(Asc(s) - 1)
Else
s = __________
End If
End If
End If
_________
End Function
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

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

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

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