题库 高中信息

题干

某社区为庆五一进行“摘草莓”比赛活动,最后取十人进入决赛,工作人员编制了如下Visual Basic程序,功能是根据草莓颗数进行排序,程序中所有参赛者的成绩保存在数组result中,对应的姓名保存在数组name中。
程序界面如图所示,左边列表框List1中显示数据(成绩和姓名),单击 “开始排序”按钮(Command1),排序后的结果按成绩从高到低显示在列表框List2中。

解决此问题的排序部分的程序段如下:
Dim result(1 To 10) As Single
Dim name(1 To 10) As String
Private Sub Command1_Click( )
Dim I, J, K, X As Single, Y As String
For I =" 1" To 9
K = I
For J =" I" + 1  To  10
If Then K = J
Next J
If K <> I Then
X =" result(I)" : result(I) =" result(K)" :
Y =" name" (I) :  name (I) =" name" (K)   :  name (K) = Y
End If
Next I
For I =" 1"  To  10
List2.AddItem Str(result(i)) + " " + result(i)
Next i
End Sub
Private Sub Form_Load()
' 此过程用于对数组a和数组b进行初始赋值,代码略
End Sub
在程序①和②划线处,填入适当的语句或表达式,把程序补充完整:
程序中①划线处应填入___________________。
程序中②划线处应填入___________________。
上一题 下一题 0.99难度 填空题 更新时间:2015-08-20 03:55:52

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

同类题2

(加试题)小明编写了一个数据加密的VB程序功能如下:在文本框Text1中输入明文,单击“加 密”按钮Command1后在文本框Text2中显示加密后的密文,运行界面如下图所示。

其中加密算法如下:
①将明文中的ASCII码每3个字节为一组(该明文字符串均为ASCII码,且字节数为3的倍数),顺次连接 后得到24位二进制数
②将①中的24位二进制数每8位进行一次翻转操作,比如原来的“0101 0001”变为“1000 1010”
③将②所得24位二进制数逐位取反,比如原来的“1110”变为“0001”
④将③中所得的24位二进制数每6位一组转换为相应的十进制数,即得到对应的密文
⑤将所有密文顺序连接并输出 实现上述功能的VB程序如下,请回答下列问题:
(1)按照上述加密算法进行加密,则“ABC”的密文是________(已知“A”的ASCII码值为65)
(2)请在划线处填入合适代码:
Dim a(1 To 24) As Integer, k As Integer
Private Sub Command1_Click()
Dim mw As String, ch1 As Integer, ch2 As String, ch3 As String, s As String
Dim m As Integer, i As Integer, j As Integer
s = ""
mw = Text1.Text    ‘mw存储明文字符串
For i = 1 To Len(mw) Step 3
For j = 1 To 24    ‘初始化数组,用于存储三个字节的二进制数
a(j) = 0
Next j k=1
ch1 = Asc(Mid(mw, i, 1))
ch2 = Asc(Mid(mw, i + 1, 1))
ch3 = Asc(Mid(mw, i + 2, 1))
Convert (ch1)    ‘调用自定义过程Convert
Convert (ch2)
Convert (ch3)
For j = 1 To 24    ‘逐位取反
①____________
Next j
For j = 1 To 4 m = 0
For p =  ②____________ To j * 6    ‘每6位一组进行权值相加
m = m * 2 + a(p) Next p
s = s & m‘&连接运算符,连接数字和字符串时,会将数字自动转换为字符串 Next j
Next i
Text2.Text = s
End Sub
Sub Convert(x As Integer)
Dim i As Integer, j As Integer
Do While x > 0
a(k) = x Mod 2
x = x \ 2
k = k + 1
Loop
j = ③_____    ‘8位二进制数,高位补“0”
k = k + j
End Sub