2-第4节-查找算法及程序实现.docxVIP

  • 0
  • 0
  • 约6.16千字
  • 约 8页
  • 2026-01-27 发布于江苏
  • 举报

让每一位学生分享高品质教育2018版《3年高考2年模拟》选考专用

让每一位学生分享高品质教育2018版《3年高考2年模拟》学考+选考专用

PAGE12/NUMPAGES12

PAGE1/NUMPAGES12

第4节查找算法及程序实现

3·2训练

A组学考题组

1.(2012浙江3月高考,4,3分)使用对分查找在已排序的数组d(数组元素d(l)≤d(2)≤…≤d(n))中查找key的算法流程图如下。其中①、②框中的内容分别是()

A.①j←m+1②i←m+1 B.①j←m-1②i←m-1

C.①j←m-1②i←m+1 D.①j←m+1②i←m-1

2.学校为每位同学办理一张校园卡,该卡可供同学们在食堂用饭、图书馆借书、超市消费等,因此称为一卡通,一卡通的卡号是唯一的,卡内会记录每位同学的姓名、班级、金额等信息。下列程序的功能是根据卡号查找对应的姓名,程序中数组a保存卡号,数组b保存姓名,第i位同学的卡号是a(i),姓名是b(i)。

程序界面如下图所示,左边列表框列出所有同学的卡号和姓名,在右边文本框Text1中输入卡号,单击“查询”按钮(Command1),程序就按卡号进行查找,如果找到就在标签Label3中输出姓名,否则就输出“查无此人”。

解决此问题的算法流程图如下图所示,相应的程序如下,在程序(1)和(2)划线处,填入适当的语句或表达式,把程序补充完整。

PrivateSubCommand1_Click()

DimxAsString,iAsInteger,sAsString,fAsBoolean

x=Text1.text

i=0:f=False??f标志是否已经找到,值为True时表示已经找到,值为False时表示没找到

DoWhileinAnd(1)??n是总人数?

i=i+1

Ifx=a(i)Then

f=True

EndIf

Loop

Iff=TrueThen

(2)?

Else

s=“查无此人!”

EndIf

Label3.Caption=s

EndSub

(1)解决此问题所用的算法是。(选填:顺序查找或对分查找)?

(2)程序中划线处(1)应填入。?

(3)程序中划线处(2)应填入。?

B组选考题组

1.(2016浙江10月选考,12,2分)【加试题】某对分查找算法的VB程序段如下:

i=l:j=9:n=0

key=Val(Text1,Text)

DoWhilei=j

n=n+1

m=Fix((i+j)/2)

Ifkey=d(m)ThenExitDo’ExitDo表示退出循环

Ifkeyd(m)Thenj=m-1Elsei=m+1

Loop

数组元素d(1)到d(9)的值依次为“7,12,18,25,39,58,61,72,86”。若该程序段运行结束后,n的值为2,则key的值是()

A.39 B.18或61

C.18或72 D.12或61

2.(2016浙江4月选考,12,2分)【加试题】已知一无序数组a(下标1到n),通过引入数组b(下标1到n),使得a(b(1))≤a(b(2))≤a(b(3))≤…≤a(b(n))(示例如图所示),对这些有序数据可进行对分查找。则第一次查找时,中点位置m与中点值分别是()

数组a

i

a(i)

1

95

2

12

3

44

4

78

5

67

?

引入数组b后

i

b(i)

a(b(i))

1

2

12

2

3

44

3

5

67

4

4

78

5

1

95

A.m的值是Fix((1+n)/2),中点值是a(m)

B.m的值是Fix((1+n)/2),中点值是a(b(m))

C.m的值是Fix((b(1)+b(n))/2),中点值是a(m)

D.m的值是Fix((b(1)+b(n))/2),中点值是a(b(m))

3.(2015浙江10月选考,11,2分)【加试题】已知单调函数f(x)在[0,1]区间存在一个x0,使f(x0)=0。现用对分查找法搜索x0的值,开始搜索区间为[0,1],若经过10次对分查找后还需继续搜索,则第11次搜索区间的长度为()

A.12 B.110 C.110

4.(2010浙江3月高考,13,2分)某学校图书信息管理系统中有10万条图书资料记录(已经索引排序),假设从中取出一条记录并与待查项进行比较所花的时间为10毫秒,则用对分法在该系统中查找任意一本指定图书最多花费的时间约为()

A.100万毫秒 B.10万毫秒

C.10毫秒 D.170毫秒

5.(2013浙江3月高考,4,3分)某查找算法的部分VB代码

文档评论(0)

1亿VIP精品文档

相关文档