高中信息技术粤教版选修1《4.3.2顺序查找算法》教学设计_第1页
高中信息技术粤教版选修1《4.3.2顺序查找算法》教学设计_第2页
高中信息技术粤教版选修1《4.3.2顺序查找算法》教学设计_第3页
高中信息技术粤教版选修1《4.3.2顺序查找算法》教学设计_第4页
高中信息技术粤教版选修1《4.3.2顺序查找算法》教学设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高中信息技术粤教版选修1《4.3.2顺序查找算法》教学设计一、教学设计的整体构思本课选自粤教版高中信息技术选修1《算法与程序设计》第四章第三节“数据的查找”中的第二课时“顺序查找算法”。高二年级学生已经完成了解析法和枚举法的学习,掌握了数组的基本操作,能够阅读并修改简单程序。本课之前学生只接触过“眼睛看、挨个找”这样的生活经验,尚未将这种经验上升为可描述、可实现的算法。顺序查找是查找算法的入门内容,结构直观,思维门槛低,但它承担着双重任务:一是教会学生用循环结构实现逐个比较的基本模式,二是为后续二分查找的学习埋下“效率对比”的伏笔。因此本课不能只教“怎么写”,更要让学生体验“为什么要这样写”以及“这样写够不够好”。整节课以“学号找人”的生活情境切入,经历“生活经验提炼→算法流程描述→代码实现与调试→性能实测与反思→迁移应用”五个环节,让学生在真实任务中完成从经验到算法再到程序的完整思维链条。二、教学目标1.信息意识方面:能从“在一堆数据中找一个目标”这样的实际问题中抽象出查找操作的模型,认识到数据组织中蕴含着算法问题。2.计算思维方面:准确说出顺序查找的基本思想(从第一个元素开始,依次与目标比较,直到找到或查完所有元素);能用流程图或自然语言描述算法;能编写完整的顺序查找程序;理解循环终止的两个条件及其处理方式;初步建立用“比较次数”衡量算法效率的意识。3.数字化学习与创新能力方面:能使用Python运行环境完成代码编写、运行与调试,能通过改变数据规模观察程序行为差异,提出对算法进行小改进的想法。4.信息社会责任方面:通过真实案例(学籍查询、图书检索、消费记录追查)认识查找算法的社会价值,讨论数据查询权限与隐私保护的基本常识。三、教学重点与难点教学重点是顺序查找算法思想的提炼和程序实现,尤其是“遍历数组、逐一比较”这一核心结构的代码书写。教学难点有两个。其一是循环的终止条件:找到目标后应当及时跳出循环,避免无意义地继续比较,学生往往写出“查完整个数组也不停”的冗余代码;其二是“未找到”情况的处理,即如何向用户反馈查找失败的信息,这需要借助标志变量或在循环结构后补充判断,涉及程序逻辑的严密性,是学生最容易遗漏的部分。四、学情分析授课对象为高二年级学生,已完成必修1的Python基础学习和选修1前几章的算法学习。多数学生能读懂for循环和if判断,能独立完成输入输出语句,但普遍存在三个薄弱点:一是习惯“凭感觉改代码”而不是“按逻辑写代码”,分支结构的完备性考虑不周;二是对数组下标从0开始的规则时有混淆;三是几乎没有算法效率的概念,认为“能算出对的结果就是好程序”。本课的教学设计围绕这三处弱点展开针对性训练。五、教学方法与课前准备教学方法采用情境任务驱动法、程序填空引导法和对比实验法。学生以两人一组使用机房电脑,每组一份学习任务单。教师课前准备:多媒体课件一套;包含50个随机整数的数据文件和包含50000个数据的大文件各一份;完整版、填空版、有缺陷版三种顺序查找Python程序示例;学极号抽人小工具一个(随机点名用,兼作课题导入道具)。六、教学过程第一环节:情境导入——从“点名找人”说起(约6分钟)教师展示班级名单,提问:老师手机通讯录里存了全校1200名学生的信息,现在要查“李明轩”的电话号码,这些名字在表里没有按任何顺序排列,你打算怎么找?学生几乎会异口同声回答:一个一个看。教师追问:一个一个看具体是怎么看的?第一个名字不是,看第二个;第二个不是,看第三个……那什么时候停下来?学生能说出两种情况:找到了就停,或者全部看完都没有,就确认此人不在名单里。教师板书学生口述的过程,顺势点题:刚才大家描述的这个朴素办法,就是今天要学习的顺序查找算法。它是最基本、最自然的查找方法。机器没有直觉,它需要我们把“一个一个看”变成严格的、可执行的指令。屏幕上出示本课任务:编写一个程序,在一个无序数组中查找用户输入的数值,报告它是否存在、位于第几个位置。设计意图:用学生每天都有的“找人”经验降低算法的心理门槛,让算法思想从学生口中说出而不是教师口中灌入,再通过“什么时候停”的追问提前点亮本课的难点——循环终止条件。第二环节:算法建模——把经验变成流程图(约8分钟)教师引导学生完成三个层次的抽象。第一层,确定数据结构。把“名单”建模为数组a,数组长度为n,要查找的目标记为key。教师强调下标从0开始,最后一个元素下标是n1,并请学生回答n=10时下标范围,当场纠正常见错答。第二层,描述算法步骤。师生共同形成自然语言描述:读入目标key;从下标0开始,依次检查每一个元素;若a[i]等于key,输出位置i并结束查找;若全部检查完毕仍未找到,输出“不存在”。第三层,绘制流程图。学生独立在学习任务单上完成流程图,教师巡视后投影两份有代表性的作品:一份正确,一份缺少“未找到”分支。全班对比讨论:第二份流程图在key不在数组时会发生什么?程序跑到哪里去?学生意识到必须给循环之外留出“查找失败”的出口。设计意图:流程图是思维的外化载体。通过“错误作品公开展示—集体诊断”的方式,把“未找到的情况”这一隐性难点显性化,为后续写代码扫除逻辑障碍。第三环节:程序实现——写出能跑的代码(约14分钟)本环节分三步推进。第一步,师生共写核心框架。教师在屏幕上逐行构建代码,边写边讲思路:a=[12,45,7,89,23,56,3,91,60,34]key=int(input("请输入要查找的数值:"))found=Falseforiinrange(len(a)):ifa[i]==key:print("找到了!位置是第",i+1,"个元素")found=Truebreakiffound==False:print("该数值不存在")教师重点讲授三处:一是flag变量found的作用,它像一个“开关”,记录查找是否成功,挂在循环外面做兜底判断;二是break语句的意义,找到目标立即跳出循环,后面不必再看,这是顺序查找“早停”思想的体现;三是输出位置时用i加1,因为计算机从0开始计数而人习惯从1开始报数,程序要替用户完成这个换算。第二步,学生完成填空版练习。学习任务单上给出挖去了关键三行的填空程序(挖去循环头、比较条件、break语句),学生独立补齐并运行测试。教师规定三组测试数据:查找数组中间的值、查找第一个元素、查找不存在的值100,要求三种情况都验证正确才算完成。巡视中重点辅导测试时只“碰运气”的学生,教会他们有目的地设计测试用例。第三步,诊断有缺陷的代码。教师投放一份“问题清单”程序:循环条件写成了range(1,len(a))漏掉第一个元素;缺少break;found判断写反了。学生四人小组竞赛“找茬”,找出至少两处错误并说明后果。最快的小组上讲台演算第一处错误会导致的漏检现象。设计意图:采用“教师示范→学生填空→集体排错”的梯度策略,把完整编写的认知负荷分解开来。三种测试用例的要求渗透了软件测试的基本思想,排错竞赛则让学生在批判性阅读中巩固对逻辑严密性的认识。第四环节:实测探究——这个算法快不快(约9分钟)教师抛出研究问题:顺序查找一个数,最少要比较几次?最多要比较几次?平均大约几次?学生讨论后形成结论:运气好第一个就是,只比较1次;运气最坏目标在末尾或者根本不存在,要比较n次;平均大约n的一半。教师板书并强调:顺序查找的工作量与数据量n成正比,数据多花一倍,时间就大约多花一倍。随后进行实测实验。两组数据分别在程序中装载:第一组50个随机数,第二组50000个随机数。学生运行教师提供的计时版程序(用time模块记录查找耗时),查找目标均设置为不存在的值,记录两种规模下的运行时间,在任务单上填写对比表格并计算时间比值。实验结果呈现在大屏上:数据量扩大1000倍,耗时也大约扩大1000倍。教师顺势点拨:这个规律在数学上叫线性增长,我们把顺序查找的时间复杂度记为O(n)。那么有没有更快的办法?教师拉长声音停顿:如果数据是按大小排好序的,能不能想出不需要逐个比较的聪明办法?请同学们课后思考,下节课我们将学习一种能快得惊人、复杂度只有对数量级的算法——二分查找。设计意图:用真实数据、真实计时代替口头空谈,让学生亲手“测量”出算法效率,建立复杂度概念的初步体验;结尾的悬念把两节课串联成有机整体,形成单元教学的连续性。第五环节:迁移应用与课堂小结(约8分钟)迁移任务一选一完成。任务A(基础):修改程序,查找一个整数数组中所有偶数并输出它们的位置。任务B(提高):在字符串列表中查找某人姓名(如["张三","李四","王五"]),找到后输出“已查到该同学”,找不到输出“查无此人”。完成后请一名做任务B的学生讲解字符串比较与数值比较在写法上的相同点,教师明确顺序查找的思想与数据类型无关,适用于任何可以比较的数据集合。课堂小结采用“三句话回顾法”,教师引导学生共同说出:顺序查找就是从第一个开始逐个比较,直到找到或查完为止;找到就用break及时停下来,没找到要靠标志变量兜住结果;数据多时它比较费劲,效率随数据量线性增长。最后拓展一分钟:学籍系统查询、图书馆检索借书、市场监管抽查消费记录,背后都有查找算法在支撑;同时提醒学生,能查到什么信息受权限约束,未经授权的批量查询和传播他人个人信息是违法行为,技术越强越要守住边界。七、板书设计主板书分为三个板块:左侧写“顺序查找思想:从头开始,逐个比较,找到即停,查完为止”;中间粘贴流程图关键词链(输入key→i从0到n1→a[i]==key?是→输出位置并break,否→继续→未找到→输出提示);右侧记录课堂探究结论(最少1次、最多n次、时间复杂度O(n)、与二分查找的对比悬念)。八、作业设计必做题:完成课堂未选做的另一道迁移任务,并用自然语言写出自己程序中循环终止的两种条件。选做题:查阅资料,了解二分查找的基本思想,用一两句话说明它为什么要求数据必须有序,课堂上将抽取同学分享。九、教学反思预设与评价方式本课评价采用过程性观察与作品评价结合的方式。教师借助巡视记录表对学生的流程图完成度、程序正确率、实验数据填写质量分别计分,另设“逻辑严密性”专项观察指标,针对(flag变量与break的使用情况)进行记录。预设可能的问题有三处:部分学生在循环结束前就直接输出“不存在”,导致每比较一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论