文档详情

二分法查找数据教学案例

新**
实名认证
店铺
DOC
140KB
约11页
文档ID:491095989
二分法查找数据教学案例_第1页
1/11

学习好资料 欢迎下载[高中信息技术]“二分法查找数据”教学案例一、教学设计[教学分析]:程序设计中经常需要进行数据的查找与存储, 设计查找算法时,往往要考虑算法的实现是否方便、快捷,而引入数组的使用,及在数组中查找数据的基本方法,即顺序查找与二分法查 找等本课是教科版《算法与程序设计》选修第三章《算法的实现》的第 3节第2课时,主要要求学生在理解什么是数组,如何定义数组及给数组赋值,掌握在使用顺序法在数组中查找数据 的基础上继续学习二分法查找, 并比较两种基本方法查找数据的特点, 由于本课是本章的学习难点,为了激发学生的学习兴趣,更好掌握二分法的算法思想,本人设计了一个“人与电脑竞 猜商品价格PK'的游戏,通过该游戏让学生学习什么是二分法算法,并通过上机实现该游戏 的程序,完成了本课的教学建议使用 1课时[教学目标]:1. 知识目标:理解二分法查找算法思想,学会使用二分法查找解决问题2. 能力目标:通过学习二分法查找数据及应用,提高学生分析与解决问题的能力3•情感态度与价值观:通过上机完成“人与电脑竞猜商品价格 PK'等VB程序设计,让学生体验编程快乐、感受成功的喜悦[教学重难点]:重点:二分法的算法基本思想及相关的程序实现。

难点:如何使用二分法在数据组中查找数据,及解决一些实际的的问题(如使用二分法求数学方程的近似解等)[教学策略]:“任务驱动”教学法、讲授法、讨论法、游戏体验法、案例分析法等多种教学方法的有机 结合,并整合多媒体网络教学手段、课程学习网站,组织学生自主探究学习、合作交流等完成 本节课的教学[学情分析]:通过上一节课的学习,学生学会VB中数组的声明及与使用及顺序查找的算法思想, 由于本校的学生全部来自于农村, 以前从未接触程序设计, 在上一节课的学习时, 本人使用教材中的“英文字母的加密与解密”例子引导学生学习顺序查找算法,学习效果不甚理想,因此,本 课的二分法查找的学习,本人决定不使用教材中的“英文字母的加密与解密”的例子,而采用 自己设计的“人与电脑竞猜商品价格 PK ”的实例,让学生从玩到程序的实现及相关知识的梳理完成了本课的学习[教学流程](复习数组的声明及使用)(运行事先设计的“人与电脑竞猜商品价格 PK” VB程序,是一个猜1至100元内的商品价格,程序分“人猜”与“电脑猜”两部分, 总分100分,猜错1次扣10分,猜对时得分最高获胜同学们是如何猜价格,引入二分法查找的算法 )(结合课本P55二分法的流程图,讲解二分法查找的算法)(剖析程序,剖析程序中“开始”、“大了”按钮等部分程序)(学生上机完成课堂任务)(学生课堂任务完成情况评价,及本课学习目标完成情况进行反思)(教学小结,知识点梳理,整理学习笔记等)(在数学中如何使用二分法求方程的近似解,试用(布置课外作业)VB编程实现)二、教学过程实录复习旧知识(2分钟)师:同学们好,上节课我们学习了数组及顺序查找的算法,那么什么是数组呢?如果有一组元素包括大、小写字母及空格共 53个,如何定义一个数组表示 (数组名称为 zifu )?(课件展示问题,请两名学生回答)生1:数组(Array)是一组相同类型的变量集合,集合中的每个元素都是独立的变量,它们能够通过数组序号被引用。

生 2: dim zifu(52) as string师:下面这段程序的执行结果是什么?(课件展示问题,请学生回答)Dim i As In tegerDim zifu(25) As Stri ngFor i=0To 25zifu(i)=chr(65+i)Next i生3:分别将A~Z赋值给zifu数组的每个元素创设情境、引入新课:(10分钟)“购似师:同学们掌握得不错,大家经常看到电视上一些商品猜价节目吧 (学生争着回答:则:猜”10格物街”、“幸运52”等),好今天我们设计一个类 的VB程序,叫做“人与电脑竞猜商品价格 PK”学生很想知道这个程序的游戏规则)教师活动:教师演示本程序,并说明游戏规 这是一个猜1至100元内的商品价格,程序分“人 与“电脑猜”两部分,总分100分,猜错1次扣 分,猜对时得分最高者获胜, 每次出现的商品价 都是随机的程序界面如图师:明白游戏规则后,大家想不想玩玩生:(异口同声)想!师生活动:教师请两名同学进行“人猜”部分的猜价,比较两名同学的成绩并让同学简 单讨论为什么另外一名同学会获胜,如何让你猜你会怎么猜得分才会高呢?(学生议论纷纷, 讨论如何才能得高分,为下面问题的提出做铺设。

)师:好,我们先静静,大家思考一下,如何用最笨的方法来猜商品价格,那将怎样猜?生:从1 一直猜到100师:好,这种猜价的方法也就是我们上节课学到的 (故意停顿,学生争着回答:顺序查找)师:非常好,大家都知道这种方法很笨,但最简单保证能猜得到 (引导学生意识到顺序查找算法的特点)师:刚才我在听大家交流讨论,如何猜价才能获得高分,哪位同学来说说你会怎么猜才能 获得高分?(请同学回答,学生争着举手回答)生4:从10开始猜,每次增加10,直到电脑出现“大了” ,再往前猜师:这有点类似于顺序查找,这种方法是最好吗?生:不是!生5:我从1到100元的中间值50元开始猜,如果大了,我就猜 1到50元的中间值25, 同理,利用这种折半的方法进行猜价格 (这个答案就是本课要讲的二分法查找算法)师:大家说这种方法好吗?(多数的同学认为这种方法不错)师:说这种方法好,我们可要拿出证据,现在我们做一个活动师生互动活动:请 3名同学进行猜价,把同学猜到的价格再分别让电脑猜,进行人机 PK,看谁获胜学生的兴趣被推到高潮)人机PK的结果:分别猜到的商品价格是 98元、52元、55元,3名同学的得分分别是:40、40、30,电脑的得分分别是: 60、40、40,结果是机胜2平1。

师:看到这个结果,大家知道电脑是2胜1平,那么电脑是怎样猜的呢? (学生很想知道)师:其实电脑使用的方法正是前面那位同学所说的方法,即折半查找法也叫二分法查找,根据刚才我们所完成的活动,大家一起说说二分法查找的算法思想学生讨论)新课的学习:(8分钟)师:下面我们翻开课本 P52, —起学习二分法查找的算法流程前面的引入及相关游戏活动虽然所花时间较多,10分钟左右,但学生已经通过活动基本理解什么二分法查找算法,教师再结合课本 P55的二分法查找流程进行讲解,便显得游刃有余,学生很容易接受师:理解二分法查找算法的思想后, 大家思考一下,二分法查找对查找的数据有何要求?生:数据应该是有序的师:这一点非常重要,它决定我们在查找数据时是否能使用二分法查找师:通过对二分法算法的学习,大家想知道这个游戏程序是怎样使用二分法来实现其算法呢?然后通过学习,自己上机编程实现?学生:想师:好,下面我们剖析该程序“电脑猜”部分的“开始”、“大了”按钮的程序代码师生共同剖析程序:“通用”部分声明:Dim P1%, P2%, M%,score1% '声明价格的下限 P1、上限P2、电脑猜价 M及得分scorel开始”按钮的程序剖析:Private Sub Cmdok_Click()If Cmdok.Caption =" 开始"Then score1 = 100Cmdok.Caption = ” 正确”P1 = 1: P2 = 100M = (P1 + P2) / 2Label1.Caption = MElse'如果Cmdok按钮的Caption为“开始”'得分最高分为100分'让Cmdok按钮的Caption为“正确”'一开始价格的下限为 1,上限为100 '电脑猜价为下限与上限中间值。

'在label1显示电脑的猜价Label1.Caption ="我猜对了 !我的得分是:"& score1 在label1显示电脑猜对了及得分Cmdok.C aptio n = ”开始” ’让Cmdok按钮的Caption为“开始”以便下次再猜End IfEnd Sub“大了”按钮的程序剖析:Private Sub cmdbigger_Click()P2 = M - 1If P1 > P2 The nLabell.Captio n ="'价格上限为上次的猜价-1'如果价格下限大于上限猜不到商品的价格! ” ’ labell显示猜不到商品的价格Cmdok.Caption = ” 开始”Else'让Cmdok按钮的Caption为“开始”以便重新再猜scorel = score1 - 10M = (P1 + P2) / 2Label1.Caption = M'得分扣10分电脑重新猜价,价格同样为下限与上限的中间值'在label1显示电脑的猜价End IfEnd Sub师:通过程序的剖析,同学理解“电脑猜价”的程序含义,下面大家有没有信心通过自己 的学习,完成“小了”按钮的程序代码?并最终完成该程序,体验自己制作的程序呢?生:有,我们想做。

师:下面我们来完成今天的课堂任务课堂任务:(15分钟)1、 在课程学习网站上,下载并运行“人与电脑竞猜商品价格 PK”程序,理解其代码的含 义,试写出其“小了”按钮的程序代码在学生操作过程中,教师对基础较差的学生进行个别,及时发现与解决学生上机过程存在的问题,并鼓励基础好的学生参与帮助, 促进学生之间互助与关爱, 争取所有的同学都完成任务2、 思考应用二分法查找有什么优点和缺点?顺序查找有哪些优点和缺点?(学生讨论)(二分法:优点是减少了查找的次数, 提高了查找效率缺点是必须是在有序数组中才能 使用顺序查找:优点是 算法简单,对数组的结构无任何要求缺点是查找效率低,当数组的元素个数较多时不宜采用该方法查找学习评价:(3分钟)1、 对自己完成的作品进行评价及他人互评与分享2、 教师随机让个别学生演示其作品,师生共同进行简单点评3、 检查本节课学习目标的掌握情况,通过本课的学习你是否能理解什么是二分法查找, 及如何使用二分法查找算法解决一些实际的问题课堂小结(学习笔记)(2分钟)教师与学生共同归纳本课学习内容及知识梳理,并整理相关学习笔记二分法查找1、 什么是二分法 P552、 二分法查找的基本算法思想 P553、 顺序查找与二分法查找的特点:(1) 二分法:优点是减少了查找的次数,提高了查找效率。

缺点是必须是在有序数组中才能使用2)顺序查找:优点是 算法简单,对数组的结构无任何要求缺点是查找效率低,当数 组的元素个数较多时不宜采用该方法查找教学延伸:(4分钟)师:学以致用,本课我们学习二分法算法及二分法在“人与电脑竞猜商品价格 PK ”游戏程序的实现,并较好完成相应课堂任务但是二分法作为一种重要的算法,它有广泛的应用, 我们如何利用二分法来解决实际的问题呢?如数学中,可用二分法查找算法求方程的近似解举例:利用二分法求函数 y=lnx+2x-6在区间(2,3)内零点的近似值(精确度 0.1 )附代码及运行结果:'求函数y=lnx+2x-6在区间(2,3)内零点的近似值(精确度 0.1)Private Sub comma nd1_Click()Dim p1, p2, x, y As Singlepl = 2: p。

下载提示
相似文档
正为您匹配相似的精品文档