资源描述
2019-2020年高中信息技术 二分法查找教学设计 教科版选修1一、基本说明1.教学内容所属模块:选修模块算法与程序设计 2.年级:高二年级 3.所用教材出版单位: 教育科学出版社4.所属的章节: 第三章第三节第3课时5.学时数:45分钟 二、教学设计 1、教学目标:理解二分法查找的基本思想。 (1)知识性目标:A. 理解二分查找算法的基本思想、能列举现实生活中的应用实例; B.能解释二分查找中数字之间的逻辑联系,明确二分查找算法相对于顺序查找法的优势; (2)技能性目标:A.能使用自然语言表达二分查找算法,并能应用信息技术与他人交流自己对此部分知识的理解;B.掌握二分查找算法的简单应用(编写猜数小游戏)。 (3)情感、态度、价值观目标:要求学生从“了解理解实现应用”二分查找算法的过程,获得对该算法的感性认识,表达二分查找算法的学习体验,养成追求算法高效率、增加程序效率意识、并领悟二分查找算法对于现实应用的价值。 (4)重点难点:重点:二分查找算法的理解难点:程序实现、知识迁移,理解二分法查找的思想2、内容分析:二分法查找这部分知识在新课程数学必修1中已经涉及到,在前面的知识中,学生基本掌握数组的简单应用,并且已经能够利用顺序查找方法对某个数据队列进行单个数据查找。本节课主要让学生掌握二分法查找的基本思想,并将这一算法体现到具体的实例中,从而提高解决问题的效率。鉴于二分查找的算法思想有些难度,采用游戏教学法帮助学生理解。3、学情分析:学生已经能够利用顺序查找方法对某个数据队列进行单个数据查找。4、设计思路:“任务驱动”教学法、范例教学法、情境教学法、游戏体验法等多种教学方法的有机结合,并整合多媒体网络教学手段、组织学生进行小组自主探究学习、合作交流等完成本节课的教学。开课前请同学们参与完成一个游戏,这个游戏和二分法的编程思想是紧密相连的,所以游戏的导入一方面引起学生的学习兴趣,另一方面也是让学生领会编程设计方法,为下面教学活动的开展做好铺垫。根据学生接受知识的能力不同,将学生进行综合搭配并分为6个小组,每一小组在一个圈子里面,由小组长负责协调并分配相关任务,这样便于讨论与交流,使能力相对较差的学生能够迅速提高。各小组成员的作品存放在指定的位置,便于小组自评并推荐小组最佳作品参与互评,从而评出课堂最佳。三、教学过程描述教法与学法分析是教学的前提和基础,把握好教学过程才是关键。教学环节教师教学学生活动对学生学习过程的观察和考查,以及及设计意图课堂引入(游戏)同学们经常看到电视上一些商品猜价节目吧,请两个同学到前台配合玩一个关于价格竞猜的小游戏,给大家展示一个商品,告诉大家价格大概的范围(1元至100元),同时告诉上来的第一位同学具体价格,另一个同学竞猜,第一位同学根据实际价格和学生的报价给出提示:“高了”、“低了”、“正确”。学生积极地投入到游戏中,猜数字。该游戏和学生的编程思想是紧密相连的,所以游戏的导入一方面是引起学生学习的兴趣,另一方面也是让学生领会编程设计方法:二分法。为下面的教学作好铺垫。让一位学生给出一物品价格,教师猜。一个学生随意给出一个在0100之间的整数。设疑:只要出一个不超出该范围的整数,都可以在7次以内猜中,你们是否可以做到?为什么?积极思考教师提出的问题。让学生两两结对去实验。在实践中学生体会到只要采用“二分法”去猜,即第一次猜50,如果“高了”,下次就猜25,如果“低了”,下次就猜75。这样猜就可以保证7次以内猜中。提出问题1、引出课题:总结指出游戏采用查找数据的方法就是二分法查找。2、教师提问:二分法查找究竟是怎样查找的呢?它的实现有没有什么条件呢?为什么我们不用顺序查找的方法来猜数?请大家阅读课本P54-55,小组内讨论这几个问题。理解二分法查找学生讨论,思考体会顺序查找虽然简单,但是很多时候效率不高。而二分法的效率常常比较高。引出课题明确二分法适用范围教师讲解二分法查找的条件是被查数据是有序的,否则无法使用二分法查找。那二分法查找是怎样查找的呢?现在这一物品价格为60元,通过二分法怎样查找?首先将1设置为下界,100设为上界,然后取上下界的中间元素50与指定的值60进行比较,由于50比60小,所以50左则的数据舍弃,然后把50作为下界,取上下界的中间元素75与60进行比较,由于75比60大,所以舍弃75右则数据,再将75作为上界,取上下界的中间元素比较,以此类推,就能很快找到。层层深入,二分法查找算法中重难点知识的讲解教师讲解有没有哪一组的同学进行补充?由于中间元素50比指定值60小,所以50不符合要求,就该将51作为下界,同样,由于75比60大,也不符合要求,应将74作为上界,这样能够减少查找次数。教师补充我们首先要设置下界low=1,上界high=100,取中间元素mid=(low+high)2,mid=50,比60小,左则舍弃,取mid右则数据作为low,即low=mid+1,再取mid=(low+high)2=75,比60大,右则舍弃,取mid左则数据作为high,即high=mid-1,以此类推,如找到,则结束。师生一起共同分析流程图并写出“大了”或“小了”部分代码。猜数游戏刚才我们是请同学猜价格,我们现在让计算机来完成一猜数游戏(P57实践3)。在程序编写中,我们将用到哪些语句?程序的流程图是什么?学生回答:用到赋值,分支,判断,输出等语句。学生思考并分析程序的流程图。复习以前学过的知识,知识综合运用就可以解决实际问题详细分析程序教师分层扩展,修改程序1、学生分组进行程序调试2、注意:红色代码为程序添加的代码!1、扩展思维能力,小组成员相互协作,完成程序修改2、强化动手实践能力,培养学生互相协作的精神Private Sub cmdOK_Click()If cmdOK.Caption = “开始” Then cmdOK.Caption = “正确” intLow = txtLow.Text intHigh = txtHigh.Text intMid = intLow / 2 + intHigh / 2 labNumber.Caption = intMidElse MsgBox “猜对了!”, vbOKOnly + vbInformation, “信息提示” cmdOK.Caption = “开始”End IfEnd SubPrivate Sub cmdBigger_Click() intHigh = intMid 1 If intLow intHigh Then labNumber.Caption = “猜不到你的数!” cmdOK.Caption = “开始” Else intMid = intLow / 2 + intHigh / 2 labNumber.Caption = intMid End IfEnd SubPrivate Sub cmdSmaller_Click() intLow = intMid + 1 If intLow intHigh Then labNumber.Caption = “猜不到你的数!” cmdOK.Caption = “开始” Else intMid = intLow / 2 + intHigh / 2 labNumber.Caption = intMid End IfEnd Sub程序运行教师程序演示!学生检验程序是否出现错误,如出现错误,小组分析讨论,如不能解决,举手提问!培养学生发现、分析、解决问题的能力课堂总结简单总结二分查找适用的情况,重点是理解二分查找算法的思想学生进一步领会二分法查找的用途和算法思想自己分析二分查找的效率小结所学知识,并告知学生如何将所学的知识进行迁移。评价反馈教师在学生小组自评和小组互评的基础上评出最佳小组和最佳个人。同时,学生在完成任务的过程中,教师特别要留意程序编写过程中出现错误的同学,在总结的过程中指出问题所在,促进学生提高编程能力。小组自评小组互评专心听老师评价通过评价使师生互相学习、互相激励、扬长避短,调动教与学双方的积极性,促使师生共同发展。附:学生实践及课堂评价表:学生实践内容完成情况兴趣情况完成没完成喜欢一般不喜欢任务一价格竞猜小游戏任务二学生画流程图提高任务三修改程序完成猜数游戏四、教学反思玩游戏是大多数同学感兴趣的事情,因势利导把游戏作为切入点,借助游戏活跃课堂气氛,使学生能深刻理解二分算法的思想,意识到二分算法并不是遥不可及,其实在不知不觉中我们已经采用了。在理解了算法思想的基础上再进行编程就容易多了。教师在教学过程中必须饱含激情,将教学情景设置层层推进,提高学生的学习成功感,并引导学生把学过的知识融会贯通。
展开阅读全文