在信息加工中,经常要对被处理的数据进行排序,在排序时经常要进行数据的交换。下面有四个程序段:
 
其中能正确地将x和y两个变量中的数据进行交换的程序段有(   )
A.1个B.2个C.3个D.4个
当前题号:1 | 题型:选择题 | 难度:0.99
以下算法中,需要通过多重循环一一列举出解决问题的所有可能解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解;而需要从实际问题中归纳出数学表达式,就此求出解;这两个算法分别是( )
A.穷举法、公式法B.循环法、递归法
C.查找法、函数法D.枚举法、解析法
当前题号:2 | 题型:选择题 | 难度:0.99
解决上问题所用的算法是:(    )
A.枚举法B.解析法C.顺序查找D.选择法
当前题号:3 | 题型:选择题 | 难度:0.99
(一)顺序查找数据:我们假定被查找的数据存储在有n个元素的数组变量d中,要寻找的一个特定的数据(这个数据称为查找键)已经存储在变量key中。
下面是顺序查找算法的输入输出说明。
输入:查找键(设在变量key中)。 被查找的数据(设在数组变量d中)。
输出:若找到,输出值为key的数据所在的数组元素的下标,记为i;
若未找到,输出结果为提示字符串:"找不到"。
当在n=8个元素的数组里顺序查找数据的示意图如下:

找到情况   未找到情况
总结顺序查找数据结果判断条件:
(1)、 当找到时,肯定i<="8," n个数据时,肯定i<=n,i即为找到的数组元素下标,d(i)=key;
(2)、 当"找不到"时,i=9>8了;n个数据时,当i=n+1时,表示"找不到"。 
顺序查找的主程序段如下:
Private Sub 顺序查找_Click()
n个数据放入d(1)到d(n)中
Key =" Val(Text1.Text):" i =___1___‘变量Key从文本框Text1取的数要查找的数;
Do While    ① 
i =" i" + 1
Loop
If i <=" n" Then
Text2.Text = "在d(" + Str(i) + ")中"  ‘例如在文本框Text2显示:“在d(6)中”
Else
Text2.Text = "找不到"
End If
End Sub
上程序Do While的条件是( )
A.Key <> d(i)
B.i <= n
C.Key <> d(i) And i <= n
D.Key <> d(i) or i <= n
当前题号:4 | 题型:选择题 | 难度:0.99
(加试题)小明想用VB编程制作一个名次计算器,首先将同学的成绩录入到计算机中,同时存放在数组a中,显示在左边列表框中。点击“排序”按钮后,程序会将成绩从高到低依次排序显示在右边的列表框中。运行界面如图所示,请在两个划线处填入代码。

Dim a(1 To 100) As Single
Dim shu As Integer
Private Sub Command1_Click()
Dim i, j, k As Integer
Dim t As Single
For i =" 1" To shu - 1
k = i
For j =" i" + 1 To shu
If___________Then
t =" a(j):" a(j) =" a(k):" a(k) = t
End If
Next j
Next i
For i =" 1" To shu
List2.AddItem "第" & Str(i) & "名:" & Str(a(i))
Next i
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim cj As Single
If KeyAscii =" 13" Then
cj = Val(Text1.Text)
If cj > 0 Then
________
List1.AddItem Str(shu) & ":" & Str(cj)
a(shu) = cj
End If
Text1.Text = ""
End If
End Sub
当前题号:5 | 题型:填空题 | 难度:0.99
某市组织了一次我心目中最喜爱的球队的评比活动,6个球队网上投票数为201、287、501、189、397、295,若采用冒泡排序算法对其进行从大到小排序,则第三遍加工后的结果是(  )
原始数据
201
287
501
189
397
295
第一遍
501
201
287
397
189
295
第二遍
501
397
201
287
295
189
第三遍
 
 
 
 
 
 
 
A.501 397 295 287 201 189
B.501 397 201 287 295 189
C.501 397 295 201 189 287
D.501 397 295 201 287 189
当前题号:6 | 题型:选择题 | 难度:0.99
某协会进行钓鱼比赛,最后有十人进入决赛,录入员编制了如下Visual Basic程序,功能是根据成绩进行排序,程序中数组  a保存所有参赛者的成绩,数组b保存此成绩对应的姓名,第i位参赛者的成绩保存在a(i)中,姓名保存在b(i)中。
程序界面如图所示,左边列表框List1中显示原始数据(成绩和相应的姓名),单击“排序”按钮(Command1),排序后的结果按成绩从高到低显示在列表框List2中。

解决此问题的算法流程图如图所示,排序部分的程序段如下:
Dim a (1 To 10) As Single
Dim b (1 To 10) As String
Private Sub Command1_Click()
Dim i As Integer,j As Integer,k As Integer,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=a(i):a(i)=a(k):②________
y=b(i):b(i)=b(k):b(k)=y
End If
Next i
For i=i To 10
List2.AddItem Str(a(i))+“    ”+b(i)
Next i
End Sub
Private Sub Form_Load()
’此过程用于对数组a和数组b进行初始赋值,代码略
End Sub

(1)解决此问题的算法是________。(选填:冒泡排序或选择排序)
在程序①和②画线处,填入适当的语句或表达式,把程序补充完整:
(2)程序中①画线处应填入________。
程序中②画线处应填入________。
当前题号:7 | 题型:填空题 | 难度:0.99
在已排序的数组d[数组元素d(1)≥d(2)≥…≥d(n)]中查找键值为Key的数,其对分查找的VB程序段如下:
i=1:j=n
xb=0
Do While i<=j
m=Fix((i+j)/2)
If d(m)=Key Then
xb=m
Exit Do
End If
If d(m)>Key Then
____
Else
____
End If
Loop
划线处的语句为(  )
A.①j=m+1 ②i=m+1B.①i=m-1 ②j=m-1
C.①j=m-1 ②i=m+1D.①i=m+1 ②j=m-1
当前题号:8 | 题型:填空题 | 难度:0.99
丢失的成绩。某校运动会上,高一男子100米决赛的成绩已出,前8名的成绩记录单由于不小心丢失一张,只剩下7个成绩,分别是(单位:秒)11.5,11.8,12.1,12.5,13.1,13.5,13.9。后来找到了,需将找到的成绩插入相应的位置,使数据序列仍保持有序,并求出该成绩的名次。
为实现这一目标,设计如下VB程序,界面如图所示:先输入7位选手成绩,自动将成绩从小到大排序后输出到列表框List1中。输入丢失成绩后,点击“插入”按钮将该成绩添加到适当位置并输出选手成绩到List2中,并在Label4中显示该成绩的名次。

实现上述功能的VB程序如下,请完成以下问题:
Dim a(1 To 8) As Single
Dim n As Integer,i As Integer,x As Single
Private Sub Form_Load()
Dim j As Integer,temp As Single
’输入7位选手100米成绩,代码略
’将7位选手成绩从小到大排序
For i=1 To 6
For j=7 To i+1 Step-1
If a(j)<a(j-1) Then
temp=a(j)
a(j)=a(j-1)
a(j-1)=temp
End If
Next j
Next i
’将排序好的选手成绩输出到列表框List1
List1.Clear
For i=1 To 7
List1.AddItem Str(a(i))
Next i
End Sub
Private Sub Command1_Click() ’确定该遗漏选手的成绩排名第几位?
x=Val(Text1.Text)
i=1
Do While x>a(i)
__   __
Loop
Label4.Caption=“该选手位列第”+Str(i)+“名!”
’ 将该遗漏选手成绩添加到适当位置,使数组仍保持有序并输出到列表框List2
For j=8 To i+1 Step-1
a(j)=a(j-1)
Next j
__   __
For i=1 To 8
List2.AddItem a(i)
Next i
End Sub
(1)Form Load事件处理过程中代码采用的算法是________(选择排序/插入排序/冒泡排序)
(2)①处代码应为:__________________________________________。
②处代码应为:____________________________________________。
当前题号:9 | 题型:填空题 | 难度:0.99
(加试题)下列有关排序和查找算法的说法正确的是( )
A.对N个数组元素进行排序,冒泡排序比选择排序的交换次数少
B.对N个数组元素进行排序,冒泡排序比选择排序的比较次数多
C.能用对分查找完成的任务,就一定可以使用顺序查找
D.只要待查找的数据是有序的,使用对分查找比顺序查找的效率高
当前题号:10 | 题型:选择题 | 难度:0.99