[高中信息技术]“二分法查找数据”教学案例一、教学设计[教学分析]:程序设计中经常需要进行数据的查找与存储,设计查找算法时,往往要考虑算法的实现是否方便、快捷,而引入数组的使用,及在数组中查找数据的基本方法,即顺序查找与二分法查找等。本课是教科版《算法与程序设计》选修第三章《算法的实现》的第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:dimzifu(52)asstring师:下面这段程序的执行结果是什么?(课件展示问题,请学生回答)DimiAsIntegerDimzifu(25)AsStringFori=0To25zifu(i)=chr(65+i)Nexti生3:分别将A~Z赋值给zifu数组的每个元素。学习评价教学小结教学延伸课外作业创设情境、引入新课:(10分钟)师:同学们掌握得不错,大家经常看到电视上一些商品猜价节目吧。(学生争着回答:“购物街”、“幸运52”等),好今天我们设计一个类似的VB程序,叫做“人与电脑竞猜商品价格PK”。(学生很想知道这个程序的游戏规则)教师活动:教师演示本程序,并说明游戏规则:这是一个猜1至100元内的商品价格,程序分“人猜”与“电脑猜”两部分,总分100分,猜错1次扣10分,猜对时得分最高者获胜,每次出现的商品价格都是随机的。程序界面如图。师:明白游戏规则后,大家想不想玩玩生:...