p=a(1)
For I=2 to 30
If a(I) < p then p=a(I)
Next I
该程序段执行后,变量I的值是( )
当输入的运算符不是加、减、乘、除四种运算符时,则输出“运算符不正确”;当进行除法运算时,如果除数为0,提示输出“除数不能为零”。相应的Visual Basic程序如下,在①和②划线处,填入合适的语句或表达式,把程序补充完整。
Private Sub Command1_Click()
Dim a As Single, b As Single, ch As String
a = Val(Text1.Text)
b = Val(Text2.Text)
①
If ch = "+" Then
Text4.Text = Str(a + b)
ElseIf ch = "*" Then
Text4.Text = Str(a * b)
ElseIf ch = "-" Then
Text4.Text = Str(a - b)
ElseIf ch = "/" Then
If ② Then Text4.Text = Str(a / b) Else Text4.Text = "除数不能是零"
Else
③
End If
End Sub
程序中划线处②应填入
程序中划线处③应填入
Private Sub Command1_Click( )
Dim st As String
Dim i As Integer, j As Integer
Dim flag As Boolean
①
J= Len (st)
i=1
flag=True
Do While flag And (i < = j)
If Mid(st,i,1)= mid (st,j,1) Then
i=i+1
②
Else
flag=False
End If
Loop
If ③ then
Text2. Text = “yes”
Else
Text2. Text = “no”
End If
End Sub
① ② ③
1)将明文中每个字符用8位二进制ASCII码(不足八位的左端补0,凑足八位)表示;如“A”的二进制ASCII码值为01000001;
2)对8位二进制编码进行取反码(0变1,1变0)操作,如01000001的反码是10111110;
3)将8位二进制反码用2位十六进制表示,得到该字符的密文;
4)将每个字符的密文按照明文的倒序连接。
实现上述功能的VB程序如下:
Private Sub Command1_Click()
Dim i As Integer, j As Integer, m As Integer, k As Integer
Dim c As String, x As Integer, y As Integer
Dim d(1 To 8) As Integer '数组d存储字符ASCII码二进制从左到右的各位数码
Dim mw As String 'mw存储密文
mw = ""
For i = 1 To Len(Text1.Text)
c = Mid(Text1.Text, i, 1)
For j = 1 To 8
‘I处
Next j
m = Asc(c)
k = 8
Do While ‘II处
d(k)= ①
m = m \ 2
k = k - 1
Loop
mw = btoh(d) + mw
Next i
Text2.Text = mw
End Sub
Function btoh(m() As Integer) As String
′自定义函数是将m数组中的二进制数转换成对应的十六进制数
Dim s As Integer, i As Integer
Dim str As String, ch As String
str = "0123456789ABCDEF"
s = 0: ch = ""
For i = 1 To 8
s = s * 2 + m(i)
If ② Then
btoh =btoh+ Mid(str, s + 1, 1)
s = 0
End If
Next i
End Function
阅读分析程序代码,请回答下列问题:
① ②
实现上述功能的VB程序如下,在划线处填入合适的代码。
Const n = 10
Dim a(1 To n) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer
Dim k As Integer, bottom As Integer
'获取排序前数据,依次存储在数组 a 中,并在文本框 Text1 中显示。代码略
bottom = n: i = 1
Do While i <= bottom - 1
k = i: j = bottom
Do While j > i
If a(j) < a(k) Then
k = j
ElseIf a(j) = a(i) Then '若发现重复数据,进行剔除处理
a(j) = a(bottom)
IfThen k = j
bottom = bottom - 1
End If
j = j - 1
Loop
If k <> i Then
t = a(k): a(k) = a(i): a(i) = t
Else
End If
Loop
For i = 1 To
Text2.Text = Text2.Text + Str(a(i))
Next i
End Sub
①将该字符的ASCII码加密钥后,转换成对应的8位二进制;
②将对应的8位二进制数进行按位取反(1变0,0变1);
③将最后产生的8位二进制数转换成对应的十六进制数;
④将得到的十六进制数码交换顺序后连接,即为该明文的密文。
例如,明文大写字母“A",输入的密钥数值为25,得到的密文为5A,信息加密过程如图所示。
小李编写了加密算法的VB程序,在文本框Text1中输入明文,单击“加密”按钮Command1。程序对明文数据依次进行加密处理,加密后生成的密文将显示在文本框Text2中。程序运行界面如图所示。
Function btoh(m As String)As String ‘将4位二进制数转换成对应的十六进制数
Dim s As Integer, i As Integer
Dim st As String
st="0123456789ABCDEF"
s=0
For i=1 To 4
s=s*2 +Val(Mid(m,i,1))
Next i
①
End Function
Private Sub Command1_Click( )
Dim ans,ch,s,ret,s1,s2 As String
Dim a,b,c As Integer
s= Text1.Text
c= Val(Text2.Text)
For i = 1 To Len(s)
ch=Mid(s,i,1) ‘取出第i个字符存入变量ch
a=Asc(ch)
b=a+c
ret = " "
For m=1 To 8 ‘完成加密步骤①和步骤②
n=(b+1)Mod 2
ret =str(n)+ ret
②
Next m
s1 = btoh(Mid(ret,1,4)) ‘完成加密步骤③和步骤④
s2 = btoh(Mid(ret,5,4))
ans=ans +s2+s1
Next i
Text3.Text=ans
End Sub
以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②。
a=2
b=5
If a<b Then
m=a
Else
m=b
End If
该程序段运行后,变量m的值为( )。
S = 0
For i = 2 to 100 step 2
S = S + i
Next i
Print i
该段程序代码执行完毕后,i的值是( )
m= 153
a=m// 100
b=m//10%10
c=m%10
n=a**3+b**3+c*3
print (n)
运行该程序段,输出结果是
PRIVATE SUB FORM_CLICK( )
X=3 : Y=12
IF X>2 THEN Y=3
Y=5
PRINT Y
END SUB
PRIVATE SUB FORM_CLICK( )
A=VAL(INPUTBOX(“请输入第一个数”))
B=VAL(INPUTBOX(“请输入第二个数”))
T=A
END SUB
ma=a[0];mb=a[0];pa=0;pb=0
for i in range(1,10):
if ma < a[i]:ma = a[i];pa=i
if mb > a[i]:mb = a[i];pb=i
下列关于该程序段功能描述正确的是( )
算法描述:最小公倍数初始值设为较大数,如果能整除,则较大数就是最小公倍数;如果不能整除,让较大数乘以2,3,4...递增1的自然数,直到能整除为止。如输入“11,5”,输出结果为“55”,输入“8,12”,输出结果为“ 24″。
请填空完善该程序,实现功能:键盘上输入两个自然数m和 n(1≤n≤m≤1000),输出这两个数的最小公倍数。编写完成后原名保存并关闭应用软件。
m=int(input("请输入自然数m:"))
n=int(input("请输入自然数n:"))
i=1
if m<n:
m,n= #两数交换(用大数翻倍)
s=m #s的初始值较大数
while :
i = i+1
s =
print()