a=4
b=7
a=a+b
b=a+b
Dim a(3, 3) As Integer
For m = 1 To 3
For n = 1 To 3
a(m, n)=(m-1)*3+n
Next n
Next m
For m = 2 To 3
For n = 1 To 2
Print a(n, m);
Next n
Next m
运行后输出结果是( )
实现上述功能的VB程序如下,请在划线处填入合适的代码。
Dim a(1 To 100)As Integer
Dim n As Integer
Private Sub Command1_Click() '生成n个有序数,显示在List1中
’有序代码略
End Sub
Private Sub Command2_ Click)
Dim t As Integer,i As Integer,j As Integer,temp As Integer
t=Val(Text2.Text)
For
Temp=
For j=i To i+1-t Step -1
a(j)=a(j-1)
Next j
Next i
For i=1 To n
List2.AddItem Str(a(i))
Next i
End Sub
例如,标准答案为“ABE”,则对应得分表如下所示。
| 学生答案 | ABE | AB | AE | BE | A | B | E | AC | ...... |
| 字符串 | 11001 | 11000 | 10001 | 01001 | 10000 | 01000 | 00001 | 10100 | ...... |
| 十进制数(x) | 25 | 24 | 17 | 9 | 16 | 8 | 1 | 20 | ...... |
| ans(x) | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
小温依据上述描述设计了“多选题阅卷”的VB程序,实现如下功能:在文本框Text1中输入标准答案(大写字母),先单击“初始化”按钮Command1,在数组ans中生成所有答案组合对应的分值,然后单击“阅卷”按钮Command2,从数据库中读取学生的答案并进行阅卷,在列表框List1中显示得分结果。程序运行界面如图所示。
Dim ans(0 To 31) As Integer
Private Sub Command1_Click()
Dim b(0 To 4) As Integer
Dim s As String, c As String, sum As Integer, k As Integer
'初始化数组ans和数组b,各元素的初始值均为0。代码略
s = Text1.Text:k = Len(s)
For i = 1 To k
c = Mid(s, i, 1)
b(Asc(c) - 65) = 2 ^ (69 - Asc(c))
Next i
For i = 0 To 4
If b(i) <> 0 Then
ans(b(i)) = 1
sum = ①
End If
Next i
ans(sum) = 2
'当标准答案含3个及以上选项时,学生答案选其中2个选项可得1分
i = 0
Do While k >= 3 And i <= 4
For j = i + 1 To 4
If b(i) * b(j) <> 0 Then ans(b(i) + b(j)) = 1
Next j
i = i + 1
Loop
i = 0
Do While k >= 4 And i <= 4
For j = i + 1 To 4
If b(i) * b(j) = 0 Or k = 5 Then ②
Next j
i = i + 1
Loop
'当标准答案含5个选项时,学生答案选其中4个选项可得1分。代码略
End Sub
Private Sub Command2_Click()
Dim xh(1 To 1000) As String, answer(1 To 1000) As String
'从数据库中读取学生学号和答案的数据分别存储在数组xh和answer中
'记录总数存储在变量n中,代码略
List1.Clear
For i = 1 To n
List1.AddItem xh(i) + " " + answer(i) + " " + Str(ans(f(answer(i))))
Next i
End Sub
Function f(s As String) As Integer
Dim i As Integer, x As Integer
x = 0
For i = 1 To Len(s)
x = ③
Next i
f = x
End Function
① ② ③
1)将该字符ASCI码转换成对应8位二进制;
2)将对应8位二进制数进行按位取反(1变0;0变1);
3)将产生的8位二进制数循环左移3次;
4)最后产生的8位二进制数转换成对应的十六进制数。
例如:明文大写字母“A”通过上述算法加密算法加密后生成的密文是“F5”,在文本框Text1中输入明文,单击“生成密文”按钮Command1,加密后生成的密文显示在文本框Text2中。
Function btoh(m As String)As String ‘将4位二进制数转换成对应的十六进制数
Dim s As Integer, i As Integer, str As String
str ="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 As String, s As String, ch As String, ret As String
Dim i As Integer, asc1 As Integer, n As Integer
②
ans=" "
For i = 1 To Len(s)
ch =Mid(s, i, 1) ‘取出第i个字符存入变量ch
asc1=Asc(ch)
ret" "
For m =1 To 8 ‘完成加密步骤1)和步骤2)
n=(asc1+1)mod 2
ret =n & ret
③
Next m
ret = Mid(ret, 4, 5)+ Mid(ret, 1, 3) ‘完成加密步骤3)和步骤4)
s1=btoh(Mid(ret, 1, 4))
s2 =btoh(Mid(ret, 5, 4))
ans =ans & s1 & s2 ‘将第i个加密后的字符添加到变量ans的末尾
Next i
Text2.Text = ans
End Sub
① ② ③
程序功能:在文本框Text1中输入1~255十进制待校验数,单击“计算”按钮后,在文本框Text2中显示该数对应的二进制值,并在标签Label1中显示该数的校验位值。
Private Sub Command1_Click()
Dim a As Integer, s As String
Dim n As Integer, t As Integer, v As Integer
n = Val(Text1.Text) ' 输入一个1~255的十进制数
t = 0
s = ""
Do While n > 0
a = n Mod 2
n = n \ 2
t =
s = Str(a) + s ' str(a)将变量a的值转换为字符串
Loop
v =
Text2.Text = s ' 显示对应的二进制数值
Label1.Caption = "校验位值:" + Str(v) ' 显示输出校验位值
End Sub
Dim i As Integer, Sum As Integer
Dim a(1 To 11) As Integer
Sum = 6
a(11) = 49
For i = 10 To 1 Step -1
a(i) = a(i +1) -1
If a(i) Mod 3 = 0 Then Sum = Sum + a(i)
Next i
Text1.Text = Str(Sum)
Const n = 6
Dim a(1 To n) As Integer, f(1 To 10) As Boolean
Dim tmp As Integer, i As Integer, j As Integer, t As Integer
′f数组各元素的初值置为False,代码略
For i = 1 To
t = Int(1+Rnd * 10)
If Not f(t) Then
a(i) = t : f(t) = True
For j =
If a(j) < a(j-1) Then
tmp = a(j): a(j) = a(j-1): a(j-1) = tmp
End If
Next j
Else
End If
Next i
上述程序段3个方框处的表达式分别为( )
Dim x As Integer,y As Integer
x=2:y=3
If x+y=5 Then x=x+2
y=x+y
该程序段运行后,x,y的值为( )

请分析任务,完成下列题目。
程序代码如下:
Private Sub Command1_Click()
Dim s As single
Dim Max , Min ,i As Integer
Dim a(5) As Integer
Max = 0
Min = ①
s = 0
For i = 1 To 5
a(i) = InputBox("请输入第" & i & "个分数")
s = s + a(i)
If ② Then Max = a(i)
If Min > a(i) Then Min = a(i)
Next i
s = ③
Text1.Text = Max
Text2.Text = Min
Text3.Text = s
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Private Sub Command3_Click()
End Sub
请分析任务,完成下列题目。