题型:综合题 题类:常考题 难易度:普通
浙江省温州环大罗山联盟2020-2021学年高二下学期信息技术期中联考试卷
8 |
5 |
3 |
17 |
14 |
10 |
32 |
25 |
24 |
53 |
50 |
35 |
73 |
66 |
61 |
图 a
依据对分查找思想,设计一个在数组a中查找数据key的程序。执行程序,在文本框Txt1中输入key的值,在文本框Txt2中显示查找结果。根据左右边界,计算中位值,并在标签L1中记录历次中位值的位置。
Private Sub Command1_Click( )
Const n = 15
Dim a(1 To n) As Integer, search As Integer, key As Integer Dim i As Integer, j As Integer, m As Integer
Dim s As String
' 读取一组正整数,按上述规则存入数组,代码略。
key =
i = 1: j = n: search = 0
Do While i <= j
m = (i + j) \ 2
s = s + Str(m) + ","
If m Mod 3 <> 0 Then '把 m调整到三个一组的最后一个数的位置
If key = a(m) Then search = m: Exit Do
ElseIf key < a(m) Then j = m - 3
ElseIfThen i = m + 1
ElseIf key = a(m - 2) Then search = m - 2: Exit Do
ElseIf key = a(m - 1) Then
search = m - 1: Exit Do
End If
Loop
If search <> 0 Then Txt2.Text = Str(search)
Else
Txt2.Text = "找不到" End If
L1.Caption = s
End Sub
试题篮