题库 高中信息

题干

(加试题)某种字符加密方法描述如:
①将待加密的字符分成若干个字符串组,每组n个字符,剩余字符(个数小于n)自成一组。
②将每组字符按以下方法重新组合,得到新的字符串。

重新组合规则:取每组第个字符依次连接生成第i个新的字符串,共n组。

③将底组后的n组字符串依次进行字符交换,得到加密字符(加密前后字符均为大写)。

字符变换规则:按字母顺序后移i个位置后输出。

④依次合并变换后的字符串,即为密文。
例如:明文="ABCDEFGHIJK",n=4的字符加密过程如下:

(1)已知n=3,则待加密数据"ABCDEFG"加密后的密文为_________________。
(2)小张根据上述加密算法,设计了一个对应的加密程序,其VB代码如下,请在划线处填入合适的代码。
下面进行重新组合:重组后数据保存到s1中


下面进行字符变换:字符变换后数据保存到ans中

划线处应填入的代码分别为:(1)______________  (2)______________  (3)______________
上一题 下一题 0.99难度 填空题 更新时间:2019-11-19 07:47:51

答案(点此获取答案解析)

同类题5

由数组a生成数组b的方法描述如下:
1)   将数组a中的n个元素依次分割出若干个数据块,每个数据块有m×m个元素,m最大值为8,最小值为2。分割时,按尽可能大的数据块进行分割;
2)   对每个分割出的数据块用“方阵转换法”进行转换,每次转换后得到的数据块依次存储在数据b中;
3)   数组a分割后的剩余元素(个数小于4),直接依序存储到数组b中。

例如n=140时,可依次分割出3个数据块,元素的个数分别为64(8×8)、64(8×8)、9(3×3),剩余元素为3个。

“方阵转换法”过程如下:将数据块中m×m个元素按行序排列成一个数字方阵,从该数字方阵中按列序得到转换后元素的次序。以3×3数据块为例,转换过程如下图所示:
转换前元素次序

转换后元素次序      
小明依据上述描述设计了如下VB程序。请回答下列问题:
(1)当n=120时,分割出的第3个数据块元素个数为__________。
(2)请在划线处填入合适的代码。
Const n = 120
Dim a(1 To n) As Integer
Dim b(1 To n) As Integer
Private Sub Command1_Click()
Dim m As Integer, i As Integer
Dim Start As Integer   '当前未分割数据的第1个元素下标
Dim Left As Integer    '当前未分割数据的个数
Dim pa As Integer '数组a的下标
Dim pb As Integer '数组b的下标
'读取n个转换前的数据,依次存储到a(1)、a(2)、……a(n)中,代码略
m = 8
Start = 1
Left = n
Do While Left > 3
If Left < m * m Then
m = ___________
Else
pa = Start
pb = Start
For i = 1 To m * m
b(pb) = a(pa)
pb = pb + 1
If i Mod m = 0 Then
______________
Else
pa = pa + m
End If
Next i
______________
Start = Start + m * m
End If
Loop
For i = Start To n
b(i) = a(i)
Next i
'依次输出转换后数据b(1)、b(2)、……b(n)中,代码略
End Sub