例如:当明文M=HelloWorld,密钥K=abc时,密文C=HfnlpYosnd。运算过程如下所示:
明文:HelloWorld
密钥:abcabcabca
密文:HfnlpYosnd
依据上述算法描述设计了如下VB程序。请回答下列问题:
Const MIN_ASC = 65
Function X2D(x As String) As String
Dim s As String, zf As String, i As Integer
s = ""
For i = 1 To Len(x)
zf = Mid(x, i, 1)
If zf >= "a" And zf <= "z" Then
s=s+
Else
s = s + zf
End If
Next i
X2D = s
End Function
Private Sub Command1_Click()
Dim M As String, K As String, C As String, flag As Boolean
Dim i As Integer, t As Integer, ch As Integer, pos As Integer, j As Integer
M = Text1.Text '明文
K = Text2.Text '密钥
t = Len(K)
K = X2D(K)
C = ""
For i = 1 To Len(M)
ch = Asc(Mid(M, i, 1))
flag = False
If ch >= 97 And ch <= 122 Then ch = ch - 32: flag = True
pos= '密钥的字符位置值
If pos = 0 Then pos = t
j = Asc(Mid(K, pos, 1)) '密钥字符的ASCII值
ch = ch - MIN_ASC
j = j - MIN_ASC
ch=
ch = ch + MIN_ASC
If flag Then ch = ch + 32 '设置字母的大小写形式
C = C & Chr(ch)
Next i
Text3.Text = C
End Sub
实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim s1 As String
Dim s2 As String
Dim s3 As String
Dim l1 As Integer
Dim l2 As Integer
Dim l3 As Integer
Dim a(1 To 100) As Integer
Dim b(1 To 100) As Integer
Dim c(1 To 100) As Integer
Dim t As Integer
s1 = Text1.Text
s2 = Text2.Text
l1 = Len(s1)
l2 = Len(s2)
For i = l1 To 1 Step -1
a(i) =
Next
For i = l2 To 1 Step -1
b(i) =Val(Mid(s2, l2 - i + 1, 1))
Next
If l1 > l2 Then l3 = l1 Else l3 = l2
t = 0
For i = 1 To l3
c(i) = a(i) + b(i) + t
t = c(i) \ 10
c(i) =
Next
For i = 1 To l3
s3 = Str(c(i)) + s3
Next
IfThen s3 = “1” + s3
Text3.Text = s3
End Sub
为实现上述功能请在划线处填上合适代码
Private Sub confirm_Click()
Dim i As Integer, j As Integer
Dim n As Integer, m As Integer Dim k As Integer, s As String Const length=6
n=Val(Text1.Text)i=1
List1.Clear
s=""
For j=1Tolength
k=Int(Rnd()*3)+1
If k=1Then
m=Int(Rnd()*26)+1
s=s+Chr(Asc("a")+m-1)
ElseIf k=2Then
m=Int(Rnd()*26)+1
s=s+Chr(Asc("A")+m-1)
Else
m=⑴
s=s+Chr(Asc("0")+m-1)
EndIf
Next j
List1.AddItemStr(i)+""+s
⑵
Loop
End Sub
Function chg 10(a As Integer, m As Integer) As String
Dim k As Integer, p As Integer
Dim temp As String
Dim x As String
x = "0123456789ABCDEF"
k=n
Do While ①
p=k Mod m
②
k=k\m
Loop
chg10=temp
End Function
Private Sub Cmrd1_Click()
Dim a As Integer
a= Val(Text1.Text)
Label5.Caption = chg10(a, 2)
Label6.Caption = chg10(a, 8)
Label7.Caption = chg10(a, 16)
End Sub
①②
在列表框List1中显示整理前的数据,单击“排序”按钮,整理结果显示在列表框List2中,程序运行界面如图所示。
Dim a(20) As Integer
Private Sub Form_Load()
Randomize '对随机函数进行随机初始化
For i = 1 To 20
a(i) = ①
List1.AddItem Str(a(i))
Next i
End Sub
Private Sub Cd1_Click()
Dim Done As Boolean
Dim i As Integer, j As Integer, k As Integer, t As Integer
For i = 20 To 1 Step -1
If a(i) Mod 3 = 0 Then Exit For 'Exit For表示跳出For循环
Next i
If i = 0 Then
Label1.Caption = "没有满足条件的数"
Else ‘对能被3整除的数进行排序
②
Do While Not Done
j = i
Done = True
k = j - 1
Do While k >= 1
If a(k) Mod 3 = 0 Then
If a(k) > a(j) Then t = a(k): a(k) = a(j): a(j) = t: Done = False
③
End If
k = k - 1
Loop
Loop
End If
For i = 1 To 20
List2.AddItem Str(a(i))
Next i
End Sub
① ② ③
请回答下面问题:
Private Sub Command1_Click()
Dim n,i,j,k,x,L,R,c As Integer
Dim goods(1 To 20)As String 'goods(i)存储商品的名称
Dim price(1To 20)As Integer 'price(i)存储商品的价格
Dim s,ch As String
s=Text1.Text:x=Val(Text2. Text)
j=1:k=0
For i=1 To Len(s)
ch=Mid(s,i,1)
If ch="," Then
k=k+1
If k Mod 2=1 Then
Else
price(k\2)=Val(Mid(s,j,i-j))
End If
j=i+1
End If
Next i
n=k\2
For i=1 To n-1
For i=1 To n-i
If price(j)>price(j+1)Then
k=price(j):price(j)=price(j+1):price(j+1)=k
End If
Next j
Next i
For i=2 To n
L=i:R=n
Do While L<=R
m=(L+R)\2
If price(m)+price(k)=x Then
c=c+1
List1. Addltem goods(k)& Str(price(k))&"元 和" & goods(m)& Str(price(m))& "元"
j=m
Do While price(j)=price(j-1)
j=j-1
c=c+1
Listl. Addltem goods(k)& Str(price(k))& "元 和" & goods(j)& Str(price(j))& "元"
Loop
Do While
m=m+1
c=c+1
List1. Addltem goods(k)& Str(price(k))& "元 和" & goods(m)& Str(price(m))& "元"
Loop
Exit Do ‘Exit Do 表示退出Do循环
Elself price(m)+price(k)>x Then
R=m-1
Else
L=m+1
End If
Loop
Next i
List1. Addltem"共有:" & Str(c)& "种组合"
End Sub
x=10
y=3
print(x%y,x**y)
①用公式计算面积 ②输出三角形面积s
③计算 ④输入边长a、b、c