n个数据的冒泡排序需要经过n-1遍加工,每一遍加工自下而上比较相信两个数据,把较小者交换到上面。小刘发现:当某一遍加工过程中没有数据交换,说明数据已经有序,无需进一步加工。为此,小刘对算法进行优化,编写了一个VB程序,功能如下:运行程序时,在列表框List1中显示排序前数据,单击“排序”按钮Commaiid1,在列表框List2 中显示这些数据按升序排序后的结果,在标签Label3中显示排序过程的加工遍数。运行效果如下图所示,

实现上述功能的VB代码如下:
Dim a(1 To 8) As Integer
Dim n As Integer
Private Sub Form_Load()
'n=8,排序前数据存储在数组a中,并在列表框Listl中显示
'代码略
End Sub
Private Sub Command1_Click()
Dim flag As Boolean
i = 1
flag = True
Do While   '改错
flag = False
For j = n To i + 1 Step -1
If a(j) < a(j - 1) Then
k = a(j): a(j) = a(j - 1): a(j - 1) = k
flag = True
End If
Next j
i = i + 1
Loop
Label3.Caption = "排序过程的加工遍数为" +       '填空
For i = 1 To n
List2.AddItem Str(a(i))
Next i
End Sub
(1)代码“Private Sub Command1_Click()”中的Click是___________。(单选,填字母:
A.对象名/B.属性名/C.事件名)
(2)程序代码中,Do While语句加框处有错,请改正。__________________
(3)程序代码中,将Label3.Caption赋值语句补充完整。_________________
(4)程序代码中,flag值为___________表示某一遍加工中发生过交换。
当前题号:1 | 题型:填空题 | 难度:0.99
对称字符串的特征是从左到右读和从右到左读是完全一样的。如“abba”是对称的,“abcba”也是对称的。判断字符串是否对称的VB程序段如下:
n=Len(s) 's是待判断的字符串
k=0:j=n
For i=1 to n/2
 
Next i
If  k=0  Then Label1.Caption="对称"  Else  Label1.Caption="不对称"
方框中的代码由以下三部分组成:
①j=j-1
②If c1 <> c2 Then k = k+1
③c1=Mid(s,i,1) : c2=Mid(s,j,1)
代码顺序正确的选项是(  )
A.①②③B.②③①C.③②①D.②①③
当前题号:2 | 题型:选择题 | 难度:0.99
产生一个在[10,99]中随机整数的VB表达式是(  )
A.Int (Rnd * 99)B.10 + Int (Rnd * 99)
C.10 + Int (Rnd * 89)D.10 + Int (Rnd * 90)
当前题号:3 | 题型:选择题 | 难度:0.99
某算法的部分流程图如图所示。执行这部分流程,依次输入3,4,-1,则输出s的值是
A.-2B.-1C.0D.1
当前题号:4 | 题型:选择题 | 难度:0.99
由数组a生成数组b的方法描述如下:
1)   将数组a中的n个元素依次分割出若干个数据块,每个数据块有m×m个元素,m最大值为8,最小值为2。分割时,按尽可能大的数据块进行分割;
2)   对每个分割出的数据块用“方阵转换法”进行转换,每次转换后得到的数据块依次存储在数据b中;
3)   数组a分割后的剩余元素(个数小于4),直接依序存储到数组b中。

例如n=140时,可依次分割出3个数据块,元素的个数分别为64(8×8)、64(8×8)、9(3×3),剩余元素为3个。

“方阵转换法”过程如下:将数据块中m×m个元素按行序排列成一个数字方阵,从该数字方阵中按列序得到转换后元素的次序。以3×3数据块为例,转换过程如下图所示:
转换前元素次序

转换后元素次序      
小明依据上述描述设计了如下VB程序。请回答下列问题:
(1)当n=120时,分割出的第3个数据块元素个数为__________。
(2)请在划线处填入合适的代码。
Const n = 120
Dim a(1 To n) As Integer
Dim b(1 To n) As Integer
Private Sub Command1_Click()
Dim m As Integer, i As Integer
Dim Start As Integer   '当前未分割数据的第1个元素下标
Dim Left As Integer    '当前未分割数据的个数
Dim pa As Integer '数组a的下标
Dim pb As Integer '数组b的下标
'读取n个转换前的数据,依次存储到a(1)、a(2)、……a(n)中,代码略
m = 8
Start = 1
Left = n
Do While Left > 3
If Left < m * m Then
m = ___________
Else
pa = Start
pb = Start
For i = 1 To m * m
b(pb) = a(pa)
pb = pb + 1
If i Mod m = 0 Then
______________
Else
pa = pa + m
End If
Next i
______________
Start = Start + m * m
End If
Loop
For i = Start To n
b(i) = a(i)
Next i
'依次输出转换后数据b(1)、b(2)、……b(n)中,代码略
End Sub
当前题号:5 | 题型:填空题 | 难度:0.99
(加试题)数字个数统计。编写VB程序,实现如下功能:在文本框Text1中输入仅由ASCII码字符组成的字符串(长度不超过100),单击“数字统计”按钮Command1,在列表框List1中输出字符串中包含的不同数字及其相应的个数,程序运行效果如下图所示。

(1)为方便调试,要让程序每次运行时文本框Text1中的初始内容为“ab12*{}78ab12()778ab34”,应修改文本框Text1的________属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private sub command1_click()
Dim a(0 to 9) as integer   ’数组元素a(i)中存放数字i的个数
Dim s as string , ch as string
Dim t as integer
For i=0 to 9
a(i)=0
next i
s=text1.text
for i=1 to len(s)
①____________    
if ch>=”0”and ch<=”9” then
t= ②________
a(t)= a(t)+1
end if
next i
list1.clear
for i=1 to 9
if  a(i)<>0   then
list1.additem  ”数字:”+str(i)+ ”,共有”+ str(a(i))+ ”个”
end if
next i
end sub
(3)与上述程序中加框处代码运行效果等价的条件表达式可以是________。
当前题号:6 | 题型:填空题 | 难度:0.99
(加试题)某对分查找算法的 VB 程序段如下:
Key = val(text1.text) 
N=0
i = 1: j = 7
flag = False
Do While i <= j And flag = False
n = n + 1
m = Fix((i + j) / 2)
If a(m) = Key Then flag = True
If Key < a(m) Then i = m + 1 Else j = m – 1  

Loop

If flag = True Then
Text2.Text = "在第" & Str(m) & "个,"
Else
Text2.Text = "未找到,"
End If
数组元素 a(1)到 a(7)的值依次为“89,72,68,45,23,19,17”。文本框 Text1 中输入 17,执 行该程序段后,下列变量的值不.正.确.的是(   )
A.n=2B.m=7C.i=7D.j=6
当前题号:7 | 题型:选择题 | 难度:0.99
学校组织运动会,开幕式的时候要求每个班排成一个方阵,为了能快速地排成方阵,小张编写了一个 VB 程序,程序功能:在文本框 Text1 中输入每一行的人数,在文本框 Text2 中输入班级人数(输入人数<=60),单击“排队”按钮 Cmd1 后,在列表框 List1 中按学号显示队形。程序运行界面如下图所示,程序代码如下,请回答下列问题:


(1)以上代码的事件处理过程名是___________。
(2)程序代码中加框处有两处错误,请改正:①___________② ___________
(3)程序代码中,请将③处的代码补充完整___________
当前题号:8 | 题型:填空题 | 难度:0.99
某程序代码如下:
Dim a(1 To 13) As String
s = "where are you":count= 0
For i = 1 To Len(s)

a(i) = Mid(s, i, 1)

Next i
For i = 1 To Len(s) - 1

k = i

For j = i + 1 To Len(s)

If a(k) < a(j) Then k = j

Next j

If i < > k Then

t = a(i): a(i) = a(k): a(k) = t

End If

Next i
For i = 1 To Len(s) - 1

If a(i) = a(i + 1) Then count = count + 1

Next i
程序运行结束后,变量count的值是
A.1B.2C.3D.4
当前题号:9 | 题型:选择题 | 难度:0.99
某算法流程图如图所示:若要用VB语言实现该部分算法,下列代码符合流程图的是
A.B.C.D.
当前题号:10 | 题型:选择题 | 难度:0.99