题库 高中信息

题干

   (加试题)某排序算法如下:每一趟将一个待排序数据,按其值的大小使用对分查找思想在已排序序列中找到合适位置并插入,将所有待排序数据全部插入即完成排序。实现该算法的程序如下:在列表框List1中显示待排序数据,单击“排序”按钮Command1后,逐行显示排序过程。程序运行结果如图所示。


实现上述功能的VB程序如下,加框处代码有错,请改正。
Const n = 10 '变量n存储待排序数据个数
Dim d(1 To n) As Integer   '数组d存储待排序数据
Private Sub APrint()
'本过程实现在列表框一行中输出数组d各个元素的值,代码略。
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, tmp As Integer
Dim m As Integer, low As Integer, high As Integer
'先将待排序数据存储在数组d中,代码略。
List1.AddItem "-----------待排序数据------------"
Call Aprint    '在列表框List1中输出数组d的各个元素的值
List1.AddItem "-----------数据排序过程------------"
For i = 2 To n
tmp = d(i)
low = 1
  high = n     '(1)_____________
Do While low <= high
m = (low + high) \ 2
If tmp <= d(m) Then
high = m - 1
Else
low = m + 1
End If
Loop
For j = i - 1 To low Step -1
d(j + 1) = d(j)
Next j
   d(low) = d(i)  '(2)______________
Call APrint
Next i
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-04-17 09:12:24

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

同类题3

(二进制转十六进制)从文本框 TextB 输入一串不带符号位的二进制整数,单击“转换”按钮,将二进制转换为十六进制并显示在文本框 TextH 中。程序界面如图所示:

转换方法:先从右往左将二进制数分割成 4 位一组,若最左边的一组不足4位,则用 0 将高位补足,然后将每 4 位二进制数转换为 1 位十六进制数。
(1)观察程序代码,可知“转换”按钮的对象名为____________。(单选,填字母:
A.TextB/ B.TextH/B.Command1/C.Convert/D.转换)
(2)为实现上述功能,请在划线处填入合适的代码。
Private Sub Convert_Click()
Dim a(1 To 100) As Integer, temp As Integer
Dim s As String, res As String, n As Integer, r As Integer
res = ""
s=TextB.text
n = Len(s)
For i = 1 To n
a(i) = Val(Mid(s, i, 1))
Next i
t = n \ 4
r =       
temp = 0
For i = 1 To r '将最高的 r 位转换为十六进制
      
Next i
If temp > 9 Then
res = Chr(temp + 55)
ElseIf temp > 0 Then
res = CStr(temp) ‘Cstr()函数用于将数值转换为字符串,同时删除前导空格
End If
For i = 1 To t '将t组4位二进制转换为十六进制
Temp=0
For j=1 to 4
temp = temp+a(j+r+4*(i-1))*2^(4-j)
Next j
If temp > 9 Then
res = res + Chr(temp + 55)
Else
res = res + CStr(temp)
End If
Next i
TextH.Text = res
End Sub
第①处代码为______________________________________________ 
第②处代码为______________________________________________    
(3)若在文本框 TextB 中输入“101000111”,则单击”转换”按钮后的输出结果为:_________。

同类题5

某学校开设多样化选修课程,学生可以根据个人兴趣和特长选择选修课。假设每门选修课的选课人数不超过40,学生选课的相关信息存放在数据库文件“student.accdb”的data表中,选课查询程序运行时界面如图所示。
程序功能:在文本框Text1中输入课程号,单击“查询”按钮Command1,在列表框List1中显示选修本课程的名学生信息。如果没有找到,在列表框中显示“该课程当前无人报名”。按此要求将程序补充完整。

Private Sub command1_click()
Dim xh(1 to 40),xm(1 to 40) As String   '学号和姓名的数组
Dim i,num as integer
Dim conn As New ADODB.Connection, rs As New ADODB.Recordset
Dim strSQL As String
conn.ConnectionString = "Provider="Microsoft.ACE.OLEDB.12.0;Data" Source=" + App.Path + "\student.accdb" '打开到数据库的链接
conn.Open
strSQL ="select xh,xm from data where '课程=&(Text1.Text) & '" '设置查询的SQL语句
Set rs.ActiveConnection = conn '设置rs的ActiveConnection属性,指定与其关联的数据库链接
rs.Open strSQL   '打开记录集,将从表student中读取的结果集保存到记录集rs中
List1.Clear
num=0
Do while not rs.EOF

xh(num)=rs.Fields("xh")
xm(num)=rs.Fields("xm")
rs.MoveNext
loop
rs.Close
conn.close
set rs=nothing
set conn=nothing
For  i="1" to num

Next i
if num="0" then list1.additem("该课程当前无人报名")
End Sub
(1)程序中①划线处应填入___________________
(2)程序中②划线处应填入___________________。