内容正文:
《 对分查找程序应用》导学案
[考试要求]
1.对分查找程序实现 (c)
[学习目标]
1. 对比顺序查找,掌握对分查找的算法思想。
2. 分解对分查找的算法思想,构建对分查找的代码
3. 充分解读和理解对分查找的程序代码
[自主学习]
1、 知识梳理
1、 对分查找继续重复进行查找的条件是
2、 对分查找最多的查找次数(n个数据)
3、 key与d(mid)的大小比较影响i,j在后续查找中的取值变化:①若d(mid)<key,则i= ,j不变;②若d(mid)>key,则j=mid-1,i
二、自我检测
1.完善下方对分查找基本代码,并在空白处对横线所填代码进行注释。
i=1:j=n
x=0
Do While__________
m=______________
If d(m)=key Then
x=m
Exit Do
End If
If d(m)>key Then
_________
Else
_________
End If
Loop
If x<>0 Then
list1.additem “查找成功下标为”+str(x)
Else
list1.additem “查找失败”
End If
2.某算法程序段如下:
Key=Val (Textl. Text)
Text2. Text=""
i=1:j=9:f= False
Do While i<=j And Not f
m=(i+j)\2
If a(m) Mod 10=Key Then
search=m
f= True
Elself a(m) Mod 10>Key Then
i=m+1
Else
j=m-1
End If
Text2. Text=Text2. Text+Str(m)
Loop
现数组元素a(1)至a(9)的值依次为19, 28, 37,46, 55, 64, 73, 82, 91,若在文本框Text1中输入29,执行以上程序段后,文本框Text2中显示的内容是( )
A. 5 7 8