数组元素a(1)~a(n)升序排列,存储整数且数值的范围为[1,n-1](n≥2),其中仅有两个相邻的数组元素的数值发生了重复。小王为找出重复数组元素的前、后位置设计了一个程序,实现该功能的VB程序段如下:
in=1;j=n
Do While1
m=(i+j)\2
If a(m)=m Then

2

Else

3

End If
Loop
Labell.Caption="相邻重复两数的前、后位置余别是:"+str(i)+"和"Stri(j)"
上述程序段3个划线处(1),(2),(3)的代码分别为(   )
A.(1)i+1<=j  (2)i=m  (3)j=m
B.(1)i+1<j  (2)i=m  (3)j=m
C.(1)i+1<j  (2)i=m+1  (3)j=m-1
D.(1)i=j  (2)i=m+1  (3)j=m-1
当前题号:1 | 题型:选择题 | 难度:0.99
数组a中有20个正整数,以降序排序。在文本框Text1中输入一个正整数data,寻找数组中是否存在两个元素之差等于给定的数据。若是则输出这两个数(有多对数满足条件,只输出最先找到的数对)。否则输出“not find”。实现此问题的算法程序如下,加框处代码有误,请改正。
①________________________
②________________________
③________________________
Private Sub Command1_Click()
Const n = 20
Dim a(20) As Integer
Dim data As Integer, left As Integer, right As Integer, m As Integer
Dim f As Boolean
f = True
data = Val(Text1.Text)
' 随机产生符合题意的数组a中各元素并按降序排序
For i = 1 To n - 1

right = n

Do While ②

m = (left + right) \ 2
If a(i) - a(m) > data Then
right = m - 1
ElseIf a(i) - a(m) < data Then
left = m + 1
Else
Text2.Text = a(i) & a(m)

End If
Loop
Next i
If f=True Then Text2.Text = "not find"
End Sub
当前题号:2 | 题型:None | 难度:0.99
某对分査找算法的VB程序段如下:
i = 1: j = 7: s = ""
key = Int(Rnd * 100)
Do While i <= j

m = (i + j) \ 2

If key = a(m) Then

s = s + "M": Exit Do    'Exit Do 表示退出循环

ElseIf key < a(m) Then

j = m - 1: s = s + "L"

Else

i = m + 1: s = s + "R"

End If

Loop
Text1.Text = s
数组元素a(1)到a(9)的值依次为“24,35,38,41,45,69,78”。若该程序段执行后,文本框Text1中显示的内容可能是(   )
A.RLB.LMRC.RLRD.LRLM
当前题号:3 | 题型:选择题 | 难度:0.99
某对分査找算法的VB程序段如下:
i= 1 : j =9 : n =0
key=Val( Textl.Text)
Do While i<= j

N=n+1

M=Fix((i + j) / 2)

If key = d(m) Then Exit Do

If key<d(m) Then j= m - 1 Else i=m+1

Loop
数组元素d(l)到d(9)的值依次为“7,12,18,25,39,58,61,72,86”。若该程序段运行结束后,n的值为2,则key的值是(   )
A.39B.18或61
C.18或72D.12或61
当前题号:4 | 题型:选择题 | 难度:0.99
小明利用所学的知识帮助语文老师设计一个语文学考等级查询系统,要求如下:输入某个等级,就能查出该等级的所有学生学号和姓名,并统计出该等级学生的人数,以便语文老师方便了解学生的学考情况。语文学考成绩分A、B、C、D、E五个等级,学生信息存储在数据库文件“stugrade.accdb”的数据表“Chinese”中,数据表“Chinese”的结构如图1所示。

VB程序运行界面如图2所示,在文本框Text1中输入查询的等级,单击“查询”按钮Command1,在列表框List1中显示所有该等级的学生学号和姓名,并按照学号从小到大排序,并在标签Label2处显示学生的人数,如果人数为0,则在列表框中显示“没有该等级的学生”。按此要求编写程序如下,但加框处代码有错误,请改正。

Private Sub Command1_Click()
Dim stuna(1 To 100) As String '存放学生姓名的数组定义为stuna
Dim stunum(1 To 100) As String '存放学生学号的数组定义为stunum
Dim i As Integer, j As Integer, n As Integer
Dim t As String
'连接数据库
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strSQL As String
cn.ConnectionString = "Provider="Microsoft.ACE.OLEDB.12.0;Data" Source=" + App.Path + "\stugrade.accdb"
cn.Open
strSQL = "select * from Chinese where 语文等级='" + Text1.Text + "'"
Set rs.ActiveConnection = cn
rs.Open strSQL
n = 0
Do While Not rs.EOF
n =" n" + 1
stuna(n) = rs.Fields("姓名").Value
stunum(n) = rs.Fields("学号").Value
rs.NextMove '①
Loop
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
List1.Clear '清除列表框
If n =" 0" Then
List1.AddItem "没有该等级的学生"
Else
For i =" 1" To n - 1 '按姓名排序
For j =" n" To i + 1 Step -1
If stuna(j) < stuna(j - 1) Then '②
t =" stunum(j):" stunum(j) =" stunum(j" - 1): stunum(j - 1) = t
t =" stuna(j):" stuna(j) =" stuna(j" - 1): stuna(j - 1) = t
End If
Next j
Next i
For i =" 1" To n
List1.AddItem stunum(i) + "  " + stuna(i)
Next i
Label2.Caption = "该等级的学生共有" + Str(n) + "名"
End If
End Sub
(1)加框处①有错,应改为____________________________。(3分)
(2)加框处②有错,应改为____________________________。(3分)
当前题号:5 | 题型:填空题 | 难度:0.99
有100个大小形状一样的透明玻璃球,其中有1个玻璃球的重量轻于其他99个玻璃球,小明想利用一台无砝码的天平,运用合理的算法保证一定能找出这颗轻玻璃球的最少的次数为:()
A.100B.10C.8D.6
当前题号:6 | 题型:选择题 | 难度:0.99
有一Access数据库“school.accdb” 存放在f:\2015mt\vb文件夹中,其中的“student”数据表用来存储学生的基本情况信息,包括学号(num)、姓名(name)、性别(sex)、分数(score),括号内的为对应字段名。下列VB程序用来实现根据学号查询并显示学生信息,运行界面如下图所示。在文本框Text1中输入学生的学号,单击“查询”,在文本框Text2、Text3、Text4中分别显示学生姓名、性别、分数。

Private Sub Command1_Click()
Dim adocn As New adodb.Connection
Dim adors As New adodb.Recordset
Dim str2 As String, str1 As String
str1 = "Provider="Microsoft.ACE.OLEDB.12.0;data" source=f:\2015mt\vb\_____________"
adocn.Open str1
str2 = "select * from students where num=" + Text1.Text
adors.Open str2, adocn, adOpenDynamic, adLockOptimistic
If adors.EOF =" True" Then
MsgBox "你输入的学号不存在"
Else
Text2.Text = adors.Fields("name").Value
Text3.Text = adors.Fields("sex").Value
______________________________________
End If
adors.Close
adocn.Close
End Sub
当前题号:7 | 题型:填空题 | 难度:0.99
下列程序的功能是在text1中输入的自然数,分解为3个互不相同的质数(三个质数的和等于输入的自然数),并把分解产生的质数按升序顺序显示在左边的列表框中。例如,输入20,那么在列表框中会显示如右图所示结果。其中,上述界面中“开始处理”按钮的名称是“Command1”,程序中函数f(x)的功能是判断x是否为质数,如果是质数则返回值为true,否则返回false。

请在下列程序代码的基础上按照要求设计该程序,完善程序中的划线部分。
Dim n As Integer, a1 As Integer, a2 As Integer, a3 As Integer
Function f(x) As Boolean
f = True
For i =" 2" To Sqr(x)
If x Mod i =" 0" Then ___________
Next i
End Function
Private Sub Command1_Click()
n = ________________
For a1 =" 2" To n
For a2 =" a1" To n
For a3 =" a2" To n
If _________________ And f(a1) And f(a2) And f(a3) Then
List1.AddItem (Str(a1) + " " + Str(a2) + " " + Str(a3))
End If
Next a3
Next a2
Next a1
End Sub
当前题号:8 | 题型:填空题 | 难度:0.99
用对分查找法从数列3,6,7,10,12,16,25,30,75中找到数据10的最少查找次数是(  )
A.2B.4C.3D.7
当前题号:9 | 题型:选择题 | 难度:0.99
设计VB程序,该程序将输入的字符串中小写字母转换成大写字母后输出。在文本框Text1中输入一串字符(数字、字母均可),单击“转换”按钮Command1,在标签Label2中输出结果。(提示:Asc(x):将字符x转换为ASCII码值;Chr(x):将ASCII代码x转换为所对应的字符)该程序的设计界面如图所示,请根据算法将下列程序补充完整。

Private Sub Command1_Click()
Dim ch As String, s As String
Dim i As Integer, j As Integer
ch = Text1.Text
For i =" 1" To   (1) 
j =" Asc(Mid(ch," i, 1))
If j > 96 And j < 123 Then
s =" s" + Chr(j - 32)
Else
s =" s" + Chr(j)
End If
Next
    (2)    
End Sub
当前题号:10 | 题型:填空题 | 难度:0.99