《二分法查找》教学案例
高中信息技术微型课教案二分法查找

高中信息技术微型课教案二分法查找课题:二分法查找微课教案一、概述本课是高中信息技术选修教材《算法与程序设计》第三章“算法的程序实现”中的第三节“在数组中查找数据”的第3课时——二分法查找。
这节课目标是学习二分法查找的概念,理解二分法查找算法的思想,能写出二分查找算法步骤。
这节课内容既是跟前一节内容“顺序查找方法”对比,训练学生思维的广度,增强思维的灵活度,同时也对后面学习“递归算法”一课也能起到很好的衔接作用。
本课中的“理解二分算法的思想”既是重点又是难点,本微课设计即针对这个环节进行设计,利用一个简单节目(学生做)、一张图(学生想)、完成帮助学生理解二分算法的思想。
二、教学目标分析1、知识与技能掌握二分算法的概念,理解算法的思想,为用代码实现其操作步骤打下基础。
2、过程与方法通过参与小节目的形式探究二分法思想和了解其概念,通过让学生观察解答树图进一步理解二分法思想。
3、情感态度与价值观通过小节目使学生享受集体活动的快乐,体会集体智慧的力量,培养学生的思维广度;通过图形描述和提炼算法思想培养他们的思维深度;使学生对程序设计在生活中的应用有进一步的认识,促进他们学习程序设计和算法的兴趣,提高他们的计算思维能力和创造力。
三、学习者特征分析学生通过学习,已经掌握了在VB环境编写简单程序的步骤和方法,掌握了基本的语句和部分简单算法。
但对于代码的编写仍有一定的困难和为畏难情绪。
这节内容的代码相比之前,复杂度有所提升,所以理解算法思想是最为重要的。
从生活中的趣例入手,让他们有自然的想法,逐步有用程序实现的需求,学习过程便顺理成章了。
四、教学重点掌握二分法概念和思想五、教学难点理解二分法思想六、教学过程1、小节目猜价格有一价格为W(1≤W≤20)的商品,同学甲给定价格区间,让同学乙猜商品的价格,如果乙猜错,甲给出“高于W”或“低于W”的提示。
看需要几次能猜对。
分小组商量对策,然后派代表公开表演。
2、总结三种方法:1)顺序法(使用者比较少,复习旧知)2)随机法(有一部分支持,不稳定)3)二分法(有少数同学使用,稳定,平均效率高)3、剖析二分法(解答树图)七、教学评价1、在演示节目阶段,学生参与,教师点评为主2、在分析阶段,学生描述,学生点评为主八、教学反思学生从参与节目,对比和总结不同的解决策略,初步理解二分法的高效,到通过解答树图进一步理解二分法的思想和原理,思维在广度和深度均得到锻炼,深入浅出地解决了本课的重难点。
教案 二分查找

查找数字80:
查找数字40:
任务二:分组讲解
查找数字5:
先定义三个变量分别指向为low,high,mid,分别指向第一个数,中间的数,最后一个数,将5和mid所指的数相比较。如果5比mid所指的数要小,那么就将high指到mid所指数的前面,循环往复直到找到5.
查找数字80:
先定义三个变量分别指向为low,high,mid,分别指向第一个数,中间的数,最后一个数,将80和mid所指的数相比较。如果80比mid所指的数要在,那么就将low指到mid所指数的后面,循环往复直到找到80.
组员4
组员5
组员6
老师评价
3、课后拓展
1、如果数组是按降序排序,程序应该怎样修改?
2、在10个有序数组里找一个数最多要多少次?在100个有序数里找一个数最多要多少次?在N个数据中找到一个数的要多少次呢?
学生总结
学生自评互评
了解学生对本节课的掌握情况,通过表格的形式进行总结汇总,直观生动
自我评价、小组互评、老师评价
void main()
{
int a[11]={5,13,19,21,37,56,64,75,80,88,92};
int l,h,m,x,bz=0;
l=0;
h=10;
printf("请输入你想找的数:\n");
scanf("%d",&x);
while (l<=h&&bz==0)
{
m=(l+h)/2;
if(x < a[m])
查找数字40:
先定义三个变量分别指向为low,high,mid,分别指向第一个数,中间的数,最后一个数,将40和mid所指的数相比较。如果40比mid所指的数要小,那么就将low指到mid所指数的后面,循环往复直到发现low〉high,那么说明没有要找的数。
二分法查找微课教案

二分法查找微课教案教学目标:1. 理解二分法查找的原理和适用场景。
2. 学会使用二分法查找算法进行查找操作。
3. 能够应用二分法查找解决实际问题。
教学内容:1. 二分法查找的原理和步骤。
2. 二分法查找的适用条件。
3. 二分法查找的优缺点。
4. 二分法查找在实际问题中的应用案例。
教学准备:1. 教学PPT或黑板。
2. 教学材料或编程环境。
教学过程:一、导入(5分钟)1. 引入话题:介绍查找算法的重要性。
2. 提出问题:为什么需要查找算法?3. 引导学生思考:查找算法的应用场景。
二、二分法查找原理介绍(10分钟)1. 解释二分法查找的原理。
2. 演示二分法查找的步骤。
3. 引导学生理解二分法查找的逻辑。
三、二分法查找适用条件(5分钟)1. 介绍二分法查找的适用条件。
2. 引导学生思考何时使用二分法查找。
3. 举例说明不适用的场景。
四、二分法查找的优缺点(5分钟)1. 介绍二分法查找的优点。
2. 介绍二分法查找的缺点。
3. 引导学生分析优缺点的权衡。
五、二分法查找应用案例(10分钟)1. 给出一个实际问题案例。
2. 引导学生运用二分法查找解决该问题。
3. 讨论和分析解决过程和结果。
教学评价:1. 课堂参与度:观察学生在课堂上的积极参与程度和提问回答情况。
2. 练习完成情况:检查学生完成练习的情况和正确性。
3. 应用案例分析:评估学生在应用案例中的分析和解决问题的能力。
教学延伸:1. 进一步探讨其他查找算法,如顺序查找和哈希查找。
2. 引导学生进行编程实践,实现二分法查找算法。
3. 探讨二分法查找在实际应用中的优化和扩展。
六、二分法查找的编程实现(10分钟)1. 介绍如何使用编程语言实现二分法查找算法。
2. 展示一个简单的二分法查找的代码示例。
3. 引导学生理解和分析代码的逻辑和执行过程。
七、二分法查找的优化(5分钟)1. 介绍二分法查找的常见优化方法。
2. 分析优化方法对算法性能的影响。
3. 引导学生思考如何选择合适的优化方法。
计算机二分法查找例子

计算机二分法查找例子二分法,也称作二分查找,是一种常用的算法,可以用来在有序数组中查找特定元素。
这种算法通过将范围逐渐缩小一半,最终得到结果。
下面我将为您详细介绍二分法查找以及一个具体的例子。
二分法查找算法的基本思想是:首先确定数组的中间位置,如果该位置上的值等于目标值,则查找成功;如果该位置上的值大于目标值,则在数组的前半部分继续进行二分查找;如果该位置上的值小于目标值,则在数组的后半部分继续进行二分查找。
不断重复以上过程,直到找到目标值或者范围缩小为空。
以下是一个使用二分法查找的例子:假设有一个有序数组arr[],其元素值为:[2, 4, 6, 8, 12, 16, 18, 22, 28, 34, 40],我们要查找的目标值为16首先,找到数组的中间位置,即arr[5]为16、由于arr[5]等于目标值,所以查找成功,返回结果为索引值5如果要查找的目标值为10,则arr[5]大于目标值,所以继续在数组的前半部分继续进行二分查找。
此时,范围缩小为[2, 4, 6, 8]。
接下来,再次找到数组的中间位置,即arr[2]为6、由于arr[2]小于目标值,所以在数组的后半部分继续进行二分查找。
此时,范围缩小为[8]。
再次找到数组的中间位置,即arr[0]为2、由于arr[0]小于目标值,所以在数组的后半部分继续进行二分查找。
此时,范围缩小为[4]。
最后,再次找到数组的中间位置,即arr[0]为4、由于arr[0]大于目标值,所以在数组的前半部分继续进行二分查找。
此时,范围缩小为空。
由于范围已经缩小为空,所以查找失败,返回结果为-1二分法查找的时间复杂度为O(log n),其中n为数组的长度。
与线性查找相比,二分法查找的效率更高,尤其是在数组较大的情况下。
但是,使用二分法查找的前提是数组必须是有序的。
如果数组是无序的,需要先进行排序操作,然后再使用二分法查找。
总结一下,二分法查找是一种高效的算法,适用于有序数组。
二分法查找教学教材

0
1
2
3
4
5
6
7
8
9
10
11
9
13
15
30
37
55
60
75
80
90
92
low
high
mid
r表
例2:查找k=85的过程:
失败:下界low> 上界high,说明表中没有关键字值等于85的记录。
(图2:查找k=85的示意图)
四、பைடு நூலகம்法实现
1、结点结构类型定义:(假设只有key域) struct element { int key; }; 2、查找表存储结构定义: #define MAXITEM 100 typedef struct element sqlist[MAXITEM];
low=mid+1;
high=mid-1;
low<=high
/*有效的查找范围*/
/*在右半部分查找/ *
/*在左半部分查找*/
五. 程序实现
运行程序: 验证二分法查找函数的功能.
课 后 作 业
1、编写一程序: 完成班级学生的信息顺序存储,在该信息表上用二分法查找学号为20和15的学生信息,成功输出该记录的值,不成功显示“该生不存在”的信息。 2、预习:二叉判定树及二分法查找算法性能分析
二、基本思想
每次将给定值k与有序表中间位置上的记录关键字进行比较,确定待查记录所在的范围,然后逐步缩小查找范围,直到确定找到或找不到对应记录为止。
三、查找过程
1、注意:设有序表记录按关键字升序排列。 2、设置整型变量 :指示查找范围的下界 :指示查找范围的上界 :指示中间记录所在的位置,
计算机二分法查找例子

计算机二分法查找例子二分查找是一种常用的查找算法,也被称为折半查找。
它是在一个有序数组中查找一些特定元素的位置。
二分查找的原理是每次将查找范围缩小一半,直到找到目标元素或确定目标元素不存在。
下面我将通过一个例子来详细说明二分查找的过程。
假设有一个有序数组arr[],其中包含以下元素:arr[] = {2, 4, 7, 9, 12, 15, 18, 21, 25, 29}我们要查找的目标元素是12、首先,我们需要找到数组的中间元素。
计算中间元素的索引是通过将数组的起始索引和结束索引相加并除以2来得到的:mid = (0 + 9) / 2 = 4得到中间元素的索引为4,然后我们将目标元素12与中间元素arr[4]进行比较。
由于目标元素大于中间元素,所以我们可以确定目标元素一定位于数组的后半部分。
接下来,我们将查找范围缩小到后半部分,并重复上述过程。
现在,我们需要找到后半部分的中间元素:mid = (5 + 9) / 2 = 7得到中间元素的索引为7,然后我们将目标元素12与中间元素arr[7]进行比较。
由于目标元素小于中间元素,所以我们可以确定目标元素一定位于数组的前半部分。
再次缩小查找范围,我们继续重复上述过程。
现在,我们需要找到前半部分的中间元素:mid = (5 + 6) / 2 = 5得到中间元素的索引为5,然后我们将目标元素12与中间元素arr[5]进行比较。
由于目标元素等于中间元素,所以我们找到了目标元素的位置。
在这个例子中,通过三次比较,我们找到了目标元素12的位置。
接下来,我们来看一个没有目标元素的例子。
假设有一个有序数组arr[]:arr[] = {2, 4, 7, 9, 12, 15, 18, 21, 25, 29}我们要查找的目标元素是5、同样的,首先找到数组的中间元素:mid = (0 + 9) / 2 = 4得到中间元素的索引为4,然后我们将目标元素5与中间元素arr[4]进行比较。
《二分法查找》教学案例

《二分法查找》教学案例《二分法查找》教学案例,信息技术课,代倩李新兰约3391字一、教材分析本课选自教育科学出版社出版的高中《算法与程序设计》(选修)第三章《算法的实现》。
教材以学生已有知识经验为基础,从提高学生分析与解决问题的能力出发,让学生体验并掌握二分法查找算法的思想,并将这一算法体现到具体的应用中。
该内容是对上一节课顺序查找方法的延伸,也是后续学习的基础,因此本课在整个单元教学中起着承上启下的作用。
二、教学目标知识与技能:理解二分法查找的概念,掌握二分法查找的算法思想,能用二分法查找编写程序。
过程与方法:通过自主分析二分法查找的原理,合作编程,完成对二分法查找数据的学习及应用,提高学生分析、解决问题的能力,发展思维的创造性。
情感、态度与价值观:培养学生的自主学习、互相协作、分析问题的能力。
三、教学难点二分法查找算法的理解,如何使用二分法解决实际的问题。
四、创新之处本节课教学地点安排在计算机网络教室。
教学方法的有机结合与多媒体教学手段的整合,促使学生自主高效学习。
将抽象枯燥的理论通过一个学生感兴趣的电视节目引出,调动学生求知的欲望。
五、教学过程(一)创设情境、激发兴趣、导入课题上课之前,播放“购物街”节目中猜价格的片段。
其内容是让选手猜商品的价格,规则是给出商品的价格范围,主持人根据实际价格和选手报价给出提示:“高了”、“低了”、“正确”。
有一个选手,仅仅尝试猜了3次,就猜出了实际价格。
当时给出的价格数值范围是100~300,实际价格是225。
他猜的3个数是200(主持人:低了)、250(主持人:高了)、225(主持人:正确)。
师:我们仔细分析这个选手的猜数过程,可以发现每次猜的数都是相应范围中间的数,这实际上采用了“二分法查找”算法思想。
这是一种非常重要的编程算法思想。
设计思想:通过视频的强大渲染力,激发学生学习兴趣,形成良好的课堂氛围,调动学生的求知欲望。
通过这样的方式导入课题:一方面可以激发学生学习的兴趣和热情;另一方面也是让学生初步感受编程算法思想——二分法。
《二分法查找数据》教学设计

《二分法查找数据》教学设计作者:陈鹏来源:《中小学信息技术教育》2009年第01期《二分法查找数据》是教科版高中信息技术选修教材《算法与程序设计》第三章第三节第二课时的教学内容。
本节课是在学生掌握了数组的基本操作以及使用顺序法在数组中查找数据的基础上,学习利用二分法查找数据,为后续“数据排序”的学习打下基础。
通过上一节课的学习,学生学会了VB中数组的基本操作及顺序查找的算法思想。
为增强学习的趣味性,笔者设计了“人与电脑竞猜商品价格”的游戏,引导学生从游戏中掌握二分法查找的思想,完成本课的学习。
一、教学目标知识与技能:理解二分法查找的算法思想,学会使用二分法查找解决问题。
过程与方法:通过学习并应用二分法查找数据的过程,提高分析与解决问题的能力。
情感、态度与价值观:通过上机完成“人与电脑竞猜商品价格”等VB程序设计,体验编程的快乐、感受成功的喜悦。
二、教学重点、难点重点:二分法的基本算法思想及相关程序的实现。
难点:如何使用二分法在数据组中查找数据,并用其解决一些实际问题。
三、课前准备多媒体教室、动画演示课件、VB程序、3~5件小商品实物。
四、教学过程1.创设情景导入新课师:同学们经常看电视上一些“商品猜价”的节目吧?下面,老师请两位同学到前台配合我玩一个关于价格竞猜的小游戏。
游戏规则:教师给大家展示一件商品,告诉第一位学生具体的价格,并告诉第二位学生该商品大概的价格范围(100元~300元),让第二位学生猜价,第一位学生对第二位学生的报价给出“高了”、“低了”或“正确”的提示。
学生和教师进行互动游戏。
教师让第二位学生讲述自己判断商品价格的过程,从而引入二分法。
设计思想:通过游戏激发学生的学习兴趣,并让学生通过价格竞猜的小游戏,初步感受编程设计方法——二分法,为后续教学活动的开展做好铺垫。
2.自主探究初识“二分法”师:二分法查找中对被查找的数据有没有要求呢?从被猜商品的价格范围100~300可以看出,这是一个有序的数列,也就是说,被查的数据必须是有序的,否则二分法查找无法进行。