折半查找算法及程序实现教案
更新时间:2023-11-12 10:22:01 阅读量: 教育文库 文档下载
- 实现折半查找的算法推荐度:
- 相关推荐
折半查找算法及程序实现
一、教材分析
教学重点:以图示法方式,演示折半查找算法的基本思想。
教学难点:由折半查找算法的思想到程序代码编写的转换,尤其是其中关键性语句的编写是教学中的难点。
二、学情分析
学生应该已经掌握程序设计的基本思想,掌握赋值语句、选择语句、循环语句的基本用法和VB基本操作,这节课学生可能会遇到的最大问题是:如何归纳总结对分查找解决不同情况问题的一般规律,鉴于此,在教学中要积极引导学生采取分解动作、比较迁移等学习策略。
三、教学目标
知识与技能:理解对分查找的概念和特点,通过分步解析获取对分查找的解题结构,初步掌握对分查找算法的程序实现。
过程与方法:通过分析多种不同的可能情况,逐步归纳对分查找的基本思想和方法,确定解题步骤。
情感态度与价值观:通过实践体验科学解题的重要性,增强效率意识和全局观念,感受对分查找算法的魅力,养成始终坚持、不断积累才能获得成功的意志品质。
四、教学策略与手段
1、教学线索:游戏引领---提出对分查找原理--- 解析对分查找的算法特征---实践解决问题。
2、学习线索:分解问题---归纳问题---实践提升,在三个阶段的不断推进中明确对分查找算法,总结规律。
五、教学过程
1、新课导入
(1)热身:游戏(2分钟)
找同学上来找一本上千页电话册里面的一个名字。(课程导入我写的不是很详细,自己设计哦)
(2)教师引导:所以我不希望只有他一个人体验这种方便,我们教室里还有一大帮人,其实这种什么不止用于查找电话铺,还可以运用到实际生活中,教室里有这么多人,坦白说,按学校的老方法一个人一个人的数,对所有老师来说都及其费力,那我们想想,是不是数数2368,这样好点对吗?。不要小看这种想法,他其实是非常棒的,他能把解决问题的时间缩短一半,因此我们提出了这种算法
2、新课:
首先我们一起来看一看折半查询算法中的“折半”的含义。 师:何为折半呢?
生:减半;打一半的折扣。
例如,我手里拿着一根绳子,现在我们来进行折半试验,首先拿住绳子的两个端点,
然后从中点的位置进行对折,这样绳子就缩短为原来长度一半,然后将一半的绳子继续执行与刚才相同的操作,使得绳子的长度逐渐的缩短,直到绳子长度短得不能再进行折半了。
师:那什么时候就不能再折半了呢? 生:即绳子的两个端点合二为一为止。
折半查找算法的思想与绳子折半的过程基本相同。下面我们先通过图示来看看折半查找算法究竟是什么?
教学步骤二:分解对分查找算法(5分钟)
假设一个从小到大排列的数据存放在一个数组中——Data(10),而查找数据存放在变量x中。如图1所示,橙色方框的代表的是查询数据x,每个浅兰色方框代表的是数组中的每个元素,框内显示的数据是每个数组元素对应的下标(序号),整排的浅兰色方框就可以看成整个数组,即待查数据表(数组元素表)。
x 0 1 2 3 4 5 6 7 8 9 10 Low High
图一
第一步:就像抓住绳子的两端一样,首先设立两个标记Low、High分别来标识查询区间的低端和高端,即数组元素的下标,如图1所示。
师:对于初始查询区间,它们是多少呢? 生:Low=0 , High=10
第二步:取区间的中点标记Mid,如图2所示。
师:查询区间的中点为多少?(这个地方,有的学生可能直接说出下标值,所以要提醒学生让中点和两个端点相联系,即用端点表示中点)
生:Mid=(Low+High)/2
师:中点位置上的数据为什么?(提醒学生数据是放在数组Data中的) 生:Data( Mid)
0 1 2 3 4 5 6 7 8 9 10 Low Mid High
第三步:判断中点位置上的数据Data( Mid)与要查找数x是否相等,如何相等,则找到,并结束查找;如果不相等,就执行第四步。
师:这个判断语句如何写呢? 生:if Data( Mid)=x then print “x找到” 结束查找 end if
第四步:如果不相等,那么对查询区间进行折半操作。
师:那如何折半——是从中点处向左侧折半还是向右侧折半?(这是整个折半查询进行下去的关键所在,所以一定要让学生自己学会判断)
由于待找数据表是从小到大排列的,而且区间中点位置上的数据Date(Mid)也知道,所以,通过Data(Mid)与x的比较,看一看,x比Data(Mid)大还是小,就可以判断出x落在中间数Data(Mid)的左侧还是右侧,从而判断出向左还是向右折半。
师:那么,判断语句如何写呢? 生:if Data(Mid) 说明x比Data(Mid)大,且数据表是从小到大排列的,从而判断出x落在右侧。所以从中点处向右侧折半。 师:如图3所示,观察新查询区间,发现高端标记没有变化,而低端标记变了,那低端标记Low为多少呢? 生:我们来看图2,由于中点位置上的数据已经被查询过,所以,新查询区间内的数据就不能再包含它,Low就得比Mid多1,即:Low=Mid+1。 0 1 2 3 4 5 6 7 8 9 10 e Low High lse 说明x比Data(Mid)小,所以就向左侧折半,如图4所示,观察新区间,发现低端标记没有变化,而高端标记变了,同样道理,新查询区间内不能包含Mid对应的数据,所有High比Mid小1,即:High=Mid–1 end if 第五步:重复执行第二、三、四步骤。 师:如果一直没有找到,那么什么时候不再进行折半查找呢?(提示学生想一想绳子折半的情况) 0 1 2 3 4 5 6 7 8 9 10 Low High 生:直至Low>High,停止折半查询。 教学步骤四:对各种情况进行归纳总结。 (1)x与data(mid)的大小比较影响i,j的取值的规律: i的取值规律:if data(mid) (2)继续进行重复查找的条件: low≤high,用循环结构实现。 教学步骤五:构建对分查找的流程图
正在阅读:
折半查找算法及程序实现教案11-12
电机盖双面钻专机总体结构与夹具设计11-17
100条对偶句,让材料文采出众!02-23
口译教程答案1-20课11-22
趣味无穷淘书乐作文600字06-27
新北师大版小学数学三年级上册《七 年、月、日:时间表》 公开课获奖教案 - 011-10
我国对外贸易存在的问题及相应对策10-09
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 折半
- 算法
- 教案
- 查找
- 实现
- 程序
- 安徽省高三化学各地名校月考试题汇编卤素
- 金融《投资项目评估》复习资料
- 2018年脚轮现状研究及发展前景趋势(目录)
- 建筑工程施工组织与实训学习情景二习题解答
- 陕西省人民政府办公厅关于印发陕西省建设厅职能配置内设机构和人
- 在殡葬改革动员会上的讲话
- 合肥市暑假读一本好书获奖情况一览表 - 图文
- 题目
- 东师古代汉语(二)16秋在线作业2
- 2009届高考物理复习
- 社会保障基金管理
- 全国各地教育类报刊(教师)投稿地址一览表
- 2016浙大远程网络营销作业在线
- 中国酱类食品行业市场前景分析预测年度报告(目录) - 图文
- 信息熵及其性质和应用
- 2014浙江省二级建造师网上继续教育考试答案1
- 佃坝乡卫生院基本药物制度检查整改汇报
- 接口复习笔记
- 气流纺挡车工操作法
- 2016届物理背诵资料