某学籍管理系统软件有2万个学生的电子档案(已按学籍号排序),假设从中取出一条记录并与待查项进行比较所花时间为10毫秒,则用对分法在该系统中查找任意一位学生档案最多花费的时间约( )
A.10万毫秒B.20万毫秒C.130毫秒D.150毫秒
当前题号:1 | 题型:选择题 | 难度:0.99
关于对分查找,下列说法正确的是( )
A.对分查找的数据必须是有序排列的B.对分查找的数据类型必须是数值型的
C.顺序查找比对分查找的查找速度快D.使用对分查找对未排序数据查找时速度较慢
当前题号:2 | 题型:选择题 | 难度:0.99
有如下程序段:

数组元素a(1)到a(10)的值依次为“66,34,12,59,21,26,18,45,20,16”,经过该程序段“加工”后,数组元素a(1)到a(10)的值依次为(   )
A.66,12,16,34,18,59,21,26,20,45
B.12,16,18,20,21,26,34,45,59,66
C.66,59,45,34,12,26,21,20,18,16
D.12,16,18,66,34,20,59,21,26,45
当前题号:3 | 题型:选择题 | 难度:0.99
二分查找又称折半查找,是一种应用于有序数列的高效查找算法。下列数列中适合二分查找算法的是(   )
(1)11  99  5  17  2  39
(2)30  52  63  71  78  81
(3)67  62   68  6  15  15
(4)85  78  59  53  19  18
A.(3)(4)B.(2)(3)C.(1)(2)D.(2)(4)
当前题号:4 | 题型:选择题 | 难度:0.99
酒店房间管理问题:某酒店房间(房间数小于1000)编号按1、2、3……连续编号,客房经理对没有入住的房间使用如下方法来登记管理。连续的空房间,登记第一个房间的编号和连续的空房间数,比如空房间1,2,6,7,8,10,则登记3条记录,分别为1_2,6_3,10_1。某旅客如果退房,需要把这个房间号也登记进去,共有4中情况需要处理:
(1)上靠:若退的房间号为3,则原来登记的记录变为1_3,6_3,10_1;
(2)下靠:若退的房间号为5,则原来登记的记录变为1_2,5_4,10_1;
(3)上下靠:若退的房间号为9,则原来登记的记录变为1_2,6_5;
(4)上下都不靠:若退的房间号为4,则原来登记的记录变为1_2,4_1,6_3,10_1
根据上述规则,小明编写了相应的VB程序,程序启动时读入空房间数据,并在列表框List1中显示,在文本框Text1中输入退房号,单击“退房”按钮后更新列表框List1中的数据。
程序界面如下图所示,请回答下列问题:

(1)当前登记的记录有3条,分别为2_3,6_2,9_4。某旅客退掉8号房间,则登记的记录将变为________。
第二部分通用技术(共50分)
(2)实现上述功能的VB程序如下,请将划线处的代码补充完整。
Const n=1000
Dim a(0 To n)As Integer a(i)保存第i条记录的开始房间号
Dim b(0 To n)As Integer b(i)保存第i条记录的房间数
Dim c As Integer, k As Integer, sp As Integer k为原始记录数
Private Sub Form_Load()
程序启动时从数据库中读取原始k条记录,依次存入a(1),b(1),a(2),b(2),…,a(k),b(k),代码略
为了程序处理方便,虚设下面两条记录
A(0)=0:b(0)=0:sp=k+1:a(sp )=1000:b(sp)=0
End Sub
Private Sub Command1_Click()

Dim i As Integer, j As Integer

c=Val(Text1.Text)

i=1

Do While a(i)<c

i=i+1

Loop

i=i-1

以下处理退房登记问题
Ifa(i)+b(i)=c Then
If a(i+1)=c+1Then   处理第3种情况

  __________

For j=i+1 To sp-1

a(j)=a(j+1):b(j)=b(j+1)
Next j
sp = sp-1

Else 处理第1种情况

b(i)=b(i)+1

End If

ElseIfc+1=a(i+1)Then 处理第2种情况

a(i+1)=c:b(i+1)=b(i+1)+1

Else 处理第4种情况

For j= ________

a(j)=a(j-1):b(j)=b(j-1)

Next j

a(i+1)=c:b(i+1)=1: ______

End If
List1.Clear
For i=1To sp-1

List1.Addltem"第"& CStr(i) &"条记录"&CStr(a(i))&"_"&CStr(b(i))

CStr函数的作用是将数字转成字符串

Next i

End Sub
当前题号:5 | 题型:None | 难度:0.99
下列关于程序设计中查找算法的描述,正确的是( )
A.顺序查找和二分法查找都是常用的查找算法
B.二分法查找一定优于顺序查找
C.顺序查找一定优于二分法查找
D.当数据有序时,不适用二分法查找
当前题号:6 | 题型:选择题 | 难度:0.99
某查找算法的VB 程序如下:
Private Sub Commandl_Click()

Dim a(1 To 9) As Integer, key As Integer, i As Integer,j As Integer

Dim mid 1 As Integer,mid 2 As Integer

a(1)=4:a(2)=22:a(3)=27:a(4)=32:a(5)=35:a(6)=44:a(7)=56:a(8)=59:a(9)=78

key=Val(Textl.Text)

i=1:j=9

flag=False

Do While i<=j And Not flag

midl=i+(j-i)\3
mid 2=j-(j-i)\3
If key=a(midl) Then
flag=True
ElseIf key<a(midl) Then
j=midl-l
ElseIf key=a(mid 2) Then
flag=True
ElseIf key>a(mid2) Then
i=mid2+1
Else
i=mid1+1
j=mid2-1
End If

Loop

If flag Then Labell.Caption=″查找成功!″Else Labell.Caption=″查找失败!″

End Sub
该程序段执行时,在文本框Text1中输入36,单击命令按钮Command1,程序运行结束后,i和j的值为(   )
A.4,5B.6,5C.5,6D.6,4
当前题号:7 | 题型:选择题 | 难度:0.99
数组a中存放了字符串,存放情况如下表:

现对数组a进行查找操作,以下表述正确的是
A.用顺序方式查找"Hit",必须先将数组a进行升序排列
B.用对分方式查找"Hit",依次被比较的字符串为:"Egg","Pay","Hit"
C.由于数组a中没有"Red",所以无法进行顺序查找
D.用对分方式查找"Bag",依次被比较的字符串为:"Day","Bag"
当前题号:8 | 题型:选择题 | 难度:0.99
小骆设计了一个程序,用来统计一段文字中句子的数量。规定以“。”或者“?”或者“!”结束的为句子。窗体界面和程序如下所示,请回答问题。

图1 图2
(1)应用程序界面设计时,用来输入文字的对象,使用了图2所示的“控件工具箱”中的 ________________(填写相应数字),
(2)Private Sub Command1_Click()
Dim s As String, r As String, k As Integer
k = 0
s=Text1.Text
For i = 1 To Len(s)

If r ="。" Or r ="!"  Or r ="?"  Then
Next i
Label1.Caption ="本段文字中含" + Str(k) + "句语句。"
End Sub
在程序划线处填写适当的表达式或语句,以实现程序功能。
程序中①划线处应填入____________________________。
程序中②划线处应填入____________________________。
当前题号:9 | 题型:填空题 | 难度:0.99
有如下程序段:
Dim a(1 To 10) As Integer
Dim i As Integer, j As Integer, m As Integer
Dim key As Integer
i = 1: j = 10: key = Val(Text1.Text)
Do While i <= j
m = (i + j) \ 2
If key < a(m) Then
j = m - 1
ElseIf key > a(m) Then
i = m + 1
Else
Do While m > 1
If a(m - 1) = key Then
m = m - 1
Else
Exit Do
End If
Loop
Exit Do
End If
Loop
数组中a(1)到a(10)依次为“1,1,2,3,3,3,3,4,4,4”,若在文本框Text1中输入值3,经上述程序段执行后变量m的值为
A.7
B.6
C.5
D.4
当前题号:10 | 题型:选择题 | 难度:0.99