(
课件网) 3.3数据的查找 高中信息技术/教科版/选择性必修1 目录 1.创设情境, 导入新课 2.体验探究,初始查找 3.讨论探究,实现查找 4.自主探究,二分查找 5.递归实现二分查找 6.课堂小结 1.创设情境,导入新课 在网上商城众多的商品数据中,如何快速地查找到所需商品的相关信息呢 本节围绕“网上商城查找商品”项目展开学习,通过项目活动体验计算机查找数据的过程,理解算法与数据结构的关系。本节主要包含“根据品牌查找商品”和“根据价格查找商品”两个任务。 2.体验探究,初始查找 任务一 根据品牌查找商品 活动1体验顺序查找过程 表3.3.1所示是某网上商城的签字笔销售数据,如何在表中查询到品牌为“得利”的签字笔销售数据呢 品牌 销量/盒 价格/元 评论数/条 博士 80 66 108 英雄 188 78 86 永辉 236 58 186 晨辉 200 46 190 得利 56 68 50 梅花 185 26 92 凌梅 68 32 65 巧虎 221 72 198 表3.3.1签字笔销售数据 从表格的第1行数据开始,先比较第1行数据中的品牌与“得利”是否相等,如果相等则说明查找成功;如果不相等则继续与下一个数据进行比较,直到所有数据都比较完毕。 任务一 根据品牌查找商品 活动1体验顺序查找过程 第 1次比较:“博士”与“得利”不相等,继续与下一个数据比较第 2次比较:“英雄”与“得利”不相等,继续与下一个数据比较。请根据这个思路,继续完成后面几个数据的比对过程。 第3次比较: 。 第4次比较: 。 第5次比较: 。 从第1个数据开始,按顺序逐一进行比较,经过5次比较,找到品牌为“得利”的签字笔销售数据。 填一填 “永辉”与“得利”不相等,继续与下一个数据比较 “晨辉”与“得利”不相等,继续与下一个数据比较 “得利”与“得利”相等,结束比较 通过刚才的查找体验,你能分别给查找和顺序查找下个定义吗? 查找(searching)就是在数据表中确定一个与给定值相等的数据若存在这样的数据则表示查找成功,否则表示查找不成功。 顺序查找(sequential search )是一种从头开始逐个数据进行比较的查找方法。 从数据表中第1个数据开始,逐个与要查找的数据进行比较,如果与要查找的数据相等,则查找成功; 如果直至最后个数据,与要查找的数据都不相等,则查找不成功。 顺序查找的过程 3.讨论探究,实现查找 任务一 根据品牌查找商品 活动2建立数据结构 创建一个线性表对象alist,存放表3.3.1所示的签字笔销售数据对象。请补全下面的代码。 填一填 01. from linearList import LinearList #导人线性表 02.alist= #创建线性表对象 03.alist.appendItem(pen("博士",80,66,108))#添加签字笔数据元素 04.alist.appendItem(pen("英雄",188,78,86))#添加签字笔数据元素 05.alist.appendItem(pen("永辉",236,58,186))#添加签字笔数据元素 LinearList ( ) 任务一 任务一 根据品牌查找商品 活动2建立数据结构 06. alist.appendItem(pen( ))#添加签字笔数据元素 07. alist.appendItem(pen( ))#添加签字笔数据元素 08. alist.appendItem(pen( ))#添加签字笔数据元素 09. alist.appendItem(pen( ))#添加签字笔数据元素 10. alist.appendItem(pen( ))#添加签字笔数据元素 "晨辉",200,46,190 "得利",56,68,50 "梅花",185,26,92 "凌美",68,32,65 "巧虎",221,72,198 任务一 根据品牌查找商品 活动3顺序查找算法的设计与实现 假设有n个签字笔销售数据,实现顺序查找的算法描述如下。 (1) 从线性表中的第1个数据开始,依次进行操作 (2) (2)将当前数据与要查找数据进行比较,如果相等,则查找成功,返回数据在表中的位置,查找结束。如果不相等,则继续查找。 (3) 查找失败。 请将上述顺序查找的算法过程转化为流程图。 任务一 根据品牌查找商品 活动3顺 ... ...