《查找算法》教学设计
1、教学目标
知识与技能:
(1)引导学生理解顺序查找和对分(二分)查找的算法思想,能用查找算法思想分析生活中的问题。
(2)在理解查找算法思想的基础上,掌握查找算法实现要点,能熟练运用流程图表示算法,能初步写出查找算法的程序基本框架。
过程与方法:
学生自主预探究,师生共同参与课堂游戏,师生共同归纳查找算法思想、实现要点和程序的基本框架,学生小组协作完成任务单,体验查找算法解决生活中的实际问题的乐趣。
情感态度与价值观:
(1)从生活中的具体问题出发,在游戏中让学生寻找解决问题的方法。
(2)学生通过顺序查找算法思想的理解,培养坚持到底,永不放弃的精神;通过对顺序查找与对分查找算法思想对比分析,增强解决问题效率意识。
2、学情分析
浙教2003课标版《算法与程序设计》第二章2.4查找和第五章5.4查找算法的程序实现,安排两个课时。第一课时着重是查找(顺序查找和对分查找)算法的思想和初步程序实现,第二课时利用查找算法解决一些实际问题的程序实现,本教学设计为第一课时。
本课内容是技术选考内容,授课对象为技术选考生。学生在本节内容学习之前已经掌握赋值语句、选择语句、循环语句、数组的基础知识和VB的基本操作,并学习了枚举算法、解析算法和排序算法(冒泡排序和选择排序)等算法思想,并能运用上述算法思想通过程序来解决生活中的相关问题。对顺序查找与对分查找开展教学时,按照分别下面流程来进行,即:“问题探究”-“算法的基本思想”-“算法的实现要点”-“算法的流程图表示”-“算法的程序基本框架”。最后估计学生对顺序查找与对分查找的区分比较有点挑战性,需要教师层层诱导归纳总结。
3、重点难点
教学重点:
顺序查找与对分查找的算法思想,用流程图表示顺序查找与对分查找算法,顺序查找与对分查找的程序基本框架。
教学难点:
顺序查找与对分查找的前提条件与查找次数的比较。
4、教学过程
4.1第一学时
4.1.1教学活动
活动1【新课导入】问题探究
教师设置探究问题:
问题1:如何在一大串没写标签钥匙中找出一把锁的钥匙?
问题2:猜猜老师手中这本书的价格是多少?(价格为正整数,价格在40以内)
学生【活动】:
学生活动一:学生A用老师准备好的一串相似的钥匙去开锁,其他学生观察学生A的操作过程。
学生活动二:老师当主持人,其他学生来猜该书本的价格,主持人只需要根据这个学生猜出的价格提示“高了”或是“低了”,如学生能在4次数内猜对这个书的价格,老师就把这本书送给他。
教师【讲授】:
同学们,现实生活中有许多有趣的问题,只要我们乐于发现与思考,其实都蕴藏着一些算法思想,如活动一与活动二就是查找算法的经典实例。
教师针对问题分析并引出顺序查找与对分查找的基本思想。
活动2【新课教学】活动二:学习任务单的分析与实现
学习任务单1:已知数组d中存放了33.62.17.54.29.75.48,现在要查找75,将如何查找?
学习任务单2:已知数组a中存放了13.27.31.49.55.68,现在要查找27,将如何查找?
教师活动:抛出两个任务,在学生自主探究的基础上,讲授顺序查找算法与对分查找算法的基本思想,PPT展示顺序查找算法与对分查找算法的流程图表示方法,并写出两种查找算法的程序基本框架。
教师课前对学生按学生学习能力梯次搭配情况分成6个学习协助小组,每个小组4-5人组成。便于学习自主探究学习任务单1与学习任务单2中的流程图表示算法。
学生活动:画出学习任务单1与学习任务单2的算法流程图,并尝试写出各自算法的程序基本框架。
课堂上师生共同探究与分析任务单,引出顺序查找与对分查找,学生分小组完成两种算法的流程图与程序的基本框架,并且展示。教师对学生的流程图进行评价。
知识内容:
根据学习任务单1的实现,探究顺序查找知识要点:
1、基本思想:从第一个数据开始,按数列的顺序逐个将数据与给定的值进行比较,若某个数据和给定值相等,则查找成功,找到所查数据的位置;反之,查找不成功.
2、实现要点:(1)利用循环语句(通常是for)逐个扫描;(2)在循环体内部利用选择语句(if)进行比对;(3)若查找成功,可以直接结束循环(Exit For).
3、流程图:
程序的基本框架:
根据学习任务单2的实现,探究对分查找知识要点:
1、对分查找的基本思想:又名二分查找,是一种高效的查找方法,前提是被查找的数据必须是有序的.先将处于中间位置的数据与查找键进行比较,若相等则查找成功;否则根据数组的有序性判断要查找键在前半部分还是后半部分,然后缩小范围按以上方法继续查找,直至找到要查找的数据,或直到数据不存在.
2、实现要点:(1)因比较次数不定,只能用do语句,不能用for语句;(2)在do循环体中利用选择语句(if)判断是否查找成功;(3)若查找成功则输出查找结果,并提前结束循环(Exit do).(4)若查找不成功,则判断查找键在数组的前半部分还是后半部分,从而缩小范围.
3、流程图:
4、程序的基本框架:
活动3【知识内化】顺序查找与对分查找的比较
顺序查找与对分查找的比较表格设计如下:
前提条件
(是否要求有序) 查找次数
(最少几次,最多几次,平均几次) 效率评价
(效率高或低)
顺序查找
对分查找
学生活动:根据活动2新课学习,自主归纳总结完成上表。
教师活动:引导学生完成表格,并PPT演示归纳总结的表格。
本活动,能巩固查找算法的知识内容,通过表格内容的填写加深了对顺序查找与对分查找理解与应用。
活动4【拓展提高】课堂练习与课后尝试算法的程序实现
课堂练习
1、数据元素a(1)到a(8)中存储了8个整数,分别为:100、20、60、10、56、89、45、23。使用顺序查找算法查找整数300,则共需查找次数为 ( )
A. 6 B. 7 C. 8 D. 9
2、在数组d(1)到d(6)中存储了某一品牌电脑6个商家的报价,其数据依次为“2200、2250、2280、2300、2350、2400”。现使用对分查找数据2250,需要查找的次数是 ( )
A. 4 B. 3 C. 2 D. 1
3、下列问题可以使用对分查找算法解决的是 ( )
A.找回遗忘的由6位数字组成的密码
B.在一堆金币中找一枚伪装的镀金镍币
C.找出全班期末考试70至80分的同学
D.在一堆盘子中找出一个有裂痕的盘子
4、物流公司数据库中有40000多条记录,这些记录已经按照编号作了排序,若访问一条记录所需的时间为10毫秒,则用对分查找算法检索某一条记录所需要的时间最多为 ( )
A. 10毫秒 B. 150毫秒 C. 160毫秒 D. 200毫秒
课后拓展
学生通过做课堂练习,内化本节课所学的知识内容;通过尝试算法的程序实现,不管成功与否,都能为下节课顺序查找与对分查找算法的程序实现在思想上与知识内容上都有充分的准备。