书签 分享 收藏 举报 版权申诉 / 4
上传文档赚钱

类型高三信息技术专题复习 高三信息技术算法专题训练十四(查找).doc

  • 上传人(卖家):cbx170117
  • 文档编号:425025
  • 上传时间:2020-04-02
  • 格式:DOC
  • 页数:4
  • 大小:96.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《高三信息技术专题复习 高三信息技术算法专题训练十四(查找).doc》由用户(cbx170117)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    高三信息技术专题复习 高三信息技术算法专题训练十四查找 信息技术 专题 复习 算法 训练 十四 查找 下载 _人教版_信息_高中
    资源描述:

    1、 1 高三算法复习十四(查找) 对分查找对分查找算法的基本思想算法的基本思想 对分查找的前提是数据已经【1】 。把要查找的数与数组 【2】 位 置的数进行比较,如果相等,则已找到并退出查找,否则将查找范围【3】 。 在确定了新的查找范围后,重复进行以上比较,直到找到或查找范围已经上界【4】 下界。 给出一组数据,要掌握利用对分查找方法找某个数依次查找到的数据及需要查找的 次数。若给出的数据无序,则必须先排序再查找。 对分查找算法的程序实现对分查找算法的程序实现 要求:设被查找的数据在数组 d 中,所有 n 个数据已按增序(从小到大)排列。要 查找的数在变量 key 中。若找到,输出该数据所在的

    2、位置 pos=m;若未找到,pos 为 0, 输出结果找不到。 用变量 i、 j、 m 分别表示查找数据范围的底部 (数组的下界) 、 顶部 (数 组上界)和中间。 用循环语句可以实现不断查找,但由于查找的次数不能确定,因此不适合用 for 语 句,可以用【5】 语句。对分查找强调查找范围,变量 i、j 分别表示查找数据 范围的下界和上界,一旦当 iji,则表示查找范围已经不存在了,因此继续查找的条件 是【6】 。对分查找的基本操作是:计算中点位置 m比较【7】 ,并 做相应处理。此时可以用以下算法表示: 计算中点位置:m=【8】 比较 key 与 d(m)有三种情况: key=d(m),表示

    3、找到,记下中点位置 m,并结束查找(加上强制退出循环语句 exit do) keyd(m),要找的数比中间位置的数大,则要到大的那部分去找,此时 j 不变,i=【10】 三种情况可以用多条件分支结构语句来实现, 并用变量 nc 表示查找的次数, 此时算 法得到进一步求精,对分查找的程序段如下: key=val(text1.text) nc=0:pos=0 i=1:j=n Do while i=j nc=nc+1 m=fix(i+j)/2) If key=d(m) then i=1:j=n Do while i=j 计算中点位置 m 比较 key 与 d(m),并做相应处理 loop 2 pos

    4、=m :exit do Elseif 【11】 Then j = m - 1 Else i = m + 1 End If Loop 【自我校对】 【1】有序 【2】中间 【3】缩小一半 【4】小于 【5】do while 【6】i=j 【7】key 与 d(m) 【8】fix(i+j)/2)或 Int(i+j)/2) 或 m=(i+j)2 均可 【9】m-1 【10】m+1 【11】keyd(m) 1、某公司委托花店公司给本公司职工生日的时候送花,花店设计了一个生日查询系统。 输入某个日期,就能查出所有这天生日的职工名单,并统计出生日人数。所有职工的姓 名和出生年月(以年月日形式,如 1982

    5、1103)事先存放数组 na 和数组 birth 中。 界面如图 VB-1 所示,在文本框 text1 中输入查询的日期(以月日形式,如 0517) ,单击 “查询”按钮,在列表框 list1 中显示所有这个日子生日的职工名单,并在 label3 处显 示这天共有几个职工生日,如果人数为 0,就在列表框 list1 中显示“本天没有职工生 日” 。 Dim na (1 to n) as string,birth(1 to n) as string Private Sub Command1_Click() Dim x As String, t As String, i As Integer, c

    6、 As Integer List1.Clear x = text1.text x存放需查询的日期 c = 0 c 保存这天生日的职工总人数 For i = 1 To n n 存放所有职工记录总数 t= mid(birth(i),5,4) t 存放职工的生日,即出生年月的后四位 If _(1)_ Then 判断职工的生日与输入的查询日期是否一致 c = c + 1 List1.AddItem na(i) End If Next i _(2)_ = “这天共有“ + Str(c) + “个职工生日“ If c=0 Then List1.AddItem “本天没有职工生日“ End Sub 程序中(

    7、1)划线处应填入_ 程序中(2)划线处应填入_ 3 图 VB-1 2、某市近期向市民投放带 2B 开头尾数为 001 至 999 的机动车牌号,经过竞投有 200 个 牌号被首批车主投中。 下面 Visual Basic 程序段的功能是根据车牌号查找相应的车主身 份证号码, 其中车牌号按尾数从小到大的顺序存储在cno数组中, 身份证号码存储在cnum 数组中。 界面如图VB-1所示,在文本框Text1中输入一个车牌号,单击“开始查找“按钮后,在 文本框Text2中输出结果。如果查找成功,则输出对应的车主身份证号码,否则输出“找不 到“。 解决查找问题的算法流程图如图VB-2所示,相应的Visu

    8、al Basic程序段如下,在和划 线处,填入合适的语句或表达式,把程序段补充完整。 Private Sub Command1_Click() Dim key As String , i As Integer Dim j As Integer , found As Boolean i = 1: j = 200 : found = False Do While i = j And Not found m = Int(i + j) / 2) If cno(m) = key Then found = True Else If Then i=m+1 Else j=m-1 End If Loop If

    9、Not found Then Text2.Text = “找不到 “ Else Text2.Text = cnum(m) End Sub 程序中划线处应填入 程序中划线处应填入 3、超市进货时会将每个商品的条形码和价格输入计算机,并对所有商品按照条形码排序 4 (从小到大) ,顾客付款时只要把条形码输入电脑,电脑即可根据条形码找到该商品并显 示对应的价格。下列程序的功能是根据条形码查找对应商品的价格,所有商品的条形码和 价格分别保存在数组a和b中(并且已经按照条形码从小到大排序) ,第i个商品的条形码保 存在a(i)中,对应的价格保存在b(i)中,变量f是标志变量,如果值为True则说明找到了

    10、 商品,若为False则说明没有找到。 程序界面如图VB-1所示,在文本框Text1中输入商品的条形码,单击“开始查找“按钮 (Command1)后,对应商品的价格在标签Label4中显示出来,如果未找到则显示“找不到 该商品,请重新输入条形码“。 解决此问题的算法流程图如图VB-2所示,相应的程序如下,在程序(1)和(2)划线处填 入适当的语句或表达式,将程序补充完整。 Private Sub Command1_Click() Dim x As String, i As Integer, j As Integer, m As Integer Dim f As Boolean x = Text1.Text i = 1: j = n: f = False n保存总的商品数 Do While (i = j) And Not (f) m = Fix(i + j) / 2) If _(1) _ Then f = True ElseIf x a(m) Then _(2)_ Else i = m + 1 End If Loop If f Then Label4.Caption = b(m) Else Label4.Caption = “找不到该商品,请重新输入条形码“ End If End Sub 程序中(1)划线处应填入_ 程序中(2)划线处应填入_ 图VB1

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:高三信息技术专题复习 高三信息技术算法专题训练十四(查找).doc
    链接地址:https://www.163wenku.com/p-425025.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库