[填空题] 本程序实现文本加密。先给定序列:a1,a2,…,an,它们的取值范围是1~n,而且互不相同。加密算法是:把原文本中第k个字符放到加密后文本的第ak个位置处。若原文本长度大于n,则只对前面n个字符加密,后面的字符不变;若原文本长度小于n,则在后面补字符“*”使文本长度为n后再加密。
例如:若给定序列a1,a2,…,a7分别为2,5,3,7,6,1,4。
·当文本为“PROGRAM”时,加密后的文本为“APOMRRG”。
·当文本为“PROGRAMMING”时,加密后的文本为“APOMRRGMING”。
·当文本为“THANK”时,加密后的文本为“*TA*HKN”。
下面的过程code实现这一算法。其中参数数组a()中存放给定序列(个数与数组a的元素个数相等)a1,a2,a3,…的值,要加密的文本放在参数变量mystr中。过程执行完毕,加密后的文本仍然放在变量mystr中。请填空。
Option Base 1
Private Sub code(a() As Integer, mystr As String)
Dim ch As String, c1 As String
n=UBound(a)-Len(mystr)
If n>0 Then
mystr=mystr & String$(n, "*")
End If
ch=mystr
For k= (14)