版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高中二年级信息技术选择性必修1“查找算法的程序实现”教学设计一、教学设计的总体思路本课属于浙教版高中信息技术选择性必修1《数据与数据结构》第一章“数据与数据的组织”中第四节“查找算法的程序实现”的新授课。查找是数据处理中最频繁的操作之一,也是学生从“会写程序”走向“会选算法”的关键节点。本课以“学籍管理中快速定位学生信息”为真实情境,通过顺序查找与折半查找的对照实验,让学生在数据规模不断扩大的过程中亲历算法效率的差异,理解“数据有序”这一前提条件的价值,进而建立“依据问题特征选择合适算法”的学科思维。本课的教学并不满足于让学生背出两段代码,而是希望学生能说清楚三件事:查找问题可以怎样抽象为程序能处理的对象;两种查找算法的执行过程有何本质差别;面对真实任务时应当依据什么标准做出选择。围绕这三个目标,课堂设计了“情境导入—过程模拟—代码实现—对比实验—迁移应用”五个环节,层层递进,环环相扣。课程标准强调,信息技术课程要培养学生的计算思维,使学生能够采用计算机科学领域的思想方法界定问题、抽象特征、建立结构模型、合理组织数据。本课正是落实这一要求的典型载体。查找算法逻辑结构清晰、实现代码简洁、效率对比直观,既不会让学生陷入语法泥沼,又能完整呈现“分析问题—设计算法—编程实现—测试优化”的问题解决全过程。二、课标与教材分析依据课程标准,本模块要求学生“通过解决实际问题,体验数据结构在数据处理中的作用,能针对具体数据问题选择恰当的查找方法并编程实现”。教材将本节安排在二分法思想初现之后、排序算法深入之前,承担着承上启下的功能:向上衔接数据组织的意义,向下为“排序是为了更快查找”这一认识埋下伏笔。教材提供的两种算法中,顺序查找体现的是最朴素的问题解决思路,对数据无任何要求,思维门槛低,是学生的“最近发展区”;折半查找则要求学生理解“利用有序性每次排除一半数据”的策略,涉及区间缩小的循环不变式,思维含量高,是本课的核心与难点。两相对照,恰好构成了一组天然的对比教学素材。教学中应当避免把折半查找当作一个孤立的“技巧”讲给学生,而要让它在与顺序查找的较量中自然登场,让学生感到“非它不可”。三、学情分析授课对象为高二年级学生。经过必修模块的学习,学生已经掌握Python的基本语法、列表的基本操作、循环结构与分支结构,能够独立编写小程序解决简单问题。在学习本节之前,学生已经理解了数组(列表)作为线性结构的存储特点,这为理解“按下标访问”和“区间折半”奠定了基础。从认知特点看,高二学生抽象逻辑思维趋于成熟,但面对“left、right、mid三个变量如何协同变化”这类涉及动态区间的问题时,仍容易出现以下困难:一是对循环结束条件的判断模糊,不清楚为什么用“left小于等于right”而不是其他形式;二是对边界更新中“mid减一”“mid加一”的细节缺乏敏感性,常写出死循环;三是能默写代码说不出道理,算法迁移能力薄弱。从学习习惯看,此前单元训练中暴露出学生“重代码、轻思路”的倾向,拿到题目急于敲键盘,缺少先画过程、先想策略的习惯。本课将借助纸笔模拟、可视化演示等手段,倒逼学生“想清楚再动手”,这正是培养计算思维的契机。此外,学生对“百万级数据中查找”这样的生活场景有直观感受,快递查询、成绩查询、词典查阅都是他们熟悉的经验,这些经验可以转化为理解折半查找的认知支架。四、教学目标1.能用自己的语言描述顺序查找与折半查找的基本思想,说出两种算法对数据组织方式的不同要求,并能结合实例说明折半查找“每次将查找范围缩小一半”的依据。2.能用自然语言或流程图描述折半查找的过程,正确推导left、right、mid三个变量的变化规律,并能独立编写两种算法的Python程序,通过构造测试数据验证程序的正确性,特别是对目标在首、在尾、不存在等边界情况进行检验。3.能通过不同数据规模下两种算法查找次数的实测对比,定性说明算法效率与数据规模的关系,初步建立用时间代价评价算法的意识,并能针对给定的查找任务说明算法选择的理由。4.在小组协作探究中养成先分析问题特征、再选择求解策略的习惯,体会“化未知为已知”“不断缩小规模”这一计算思维的普适价值,感受算法的严谨之美。五、教学重点与难点教学重点:折半查找算法的设计思想及其程序实现;顺序查找与折半查找的适用条件与效率比较。教学难点:折半查找中left、right、mid变量的动态变化关系及循环终止条件的确定;边界更新时“加一减一”的细节处理及其原因。六、教学方法与教学准备本课采用任务驱动法、对比实验法与合作探究法相结合的教学策略。教师提供统一的课堂程序骨架与学习单,学生以四人小组为单位开展纸笔模拟与上机实验。环境准备:机房安装Python3.x环境,提前下发半成品程序文件“search_template.py”,内含顺序查找函数框架、折半查找函数框架、测试数据生成代码和计时统计代码。教师端准备折半查找过程的可视化动画(用数字卡片翻牌演示或屏幕动画),学习单一份,包含过程记录表与实验数据记录表。七、教学过程环节一:情境导入,激活经验(约5分钟)教师出示问题:学校教务处要在全校2400名学生的成绩列表中查找出某位姓名对应的成绩。如果让你写程序,你打算怎样找?请学生自由发言。多数学生会提出“从头开始一个一个比”。教师顺势给出第一个判定:这个办法一定能找到,它就是今天的第一位主角——顺序查找。接着教师追加条件:如果这份名单已经按学号排好序,你还会一个一个翻到第1800个吗?你平时查英语词典是怎么查的?学生立刻联想到“先翻到中间,再往前或往后翻”。教师追问:为什么可以这样翻?依据是什么?学生回答:因为词典是有序的,翻到中间就能判断目标在前半还是后半。教师总结:同样是查找,数据的组织方式不同,策略就可以完全不同。今天我们就来研究这两种策略,并用实验看看它们差距有多大。由此揭示课题:查找算法的程序实现。设计意图:用教务查询与查词典两个学生熟悉的经验建立新旧知识的联结,让学生在未写一行代码之前就已直观领会折半查找的核心思想,并为“有序是前提”这一关键条件埋下清晰的伏笔。环节二:顺序查找的思想与实现(约8分钟)教师引导学生回顾:用一句话概括顺序查找的过程。学生表述后,教师板书要点:从第一个元素开始,依次与目标值比较,找到则返回位置,全部比较完仍未找到则返回失败标记(通常以1表示)。学生在半成品代码的空缺处补全顺序查找函数。核心代码如下:defseq_search(a,key):foriinrange(len(a)):ifa[i]==key:returnireturn1教师请一名学生讲解每一行的含义,并提问:为什么说返回1可以表示“没找到”?学生回答:因为列表合法下标从0开始,1不可能是正常结果,用它当“找不到”的信号是约定俗成的做法。教师布置一个小任务:在列表[35,12,78,24,59]中分别查找78和100,在程序中加一个计数变量,统计比较次数并输出。学生很快发现:查找78比较了3次,查找100则比较了5次,即全部比较一遍才能下结论。教师小结:顺序查找的代价与目标位置和数据总量直接相关,最坏情况下要全部比完,最好情况下一次命中。环节三:折半查找的探究与实现(约15分钟)这是本课的核心环节,分三步走:先纸笔模拟,再抽象规则,最后编写代码。第一步,纸笔模拟。教师给出有序列表[8,15,22,31,47,56,63,78,90],目标是78。学生的词典经验告诉他们从中间入手。教师引导小组用三个标签纸写出left、right、mid,按规则逐步移动,并在学习单上记录每一步三个变量的值和中间元素的比较结果。第一轮mid指向31,小于78,说明目标必在右半段,left移到mid右边;第二轮在右半段再取中点……学生发现至多三四步就锁定了78,而顺序查找需要8次。第二步,抽象规则。教师组织小组讨论并归纳三条规则:其一,每轮取区间中点mid=(left+right)//2,用整除保证得到整数下标;其二,若中间元素小于目标,说明目标只可能在右半边,令left=mid+1,反之令right=mid1;其三,当left与right交叉即left大于right时,说明区间已空,查找失败。教师重点追问:为什么是mid加一而不是mid?学生通过回看模拟过程回答:mid位置已经比较过且不相等,继续留在区间内毫无用处,不剔除就会陷入原地打转的死循环。第三步,编程实现。学生补全折半查找代码:defbinary_search(a,key):left,right=0,len(a)1whileleft<=right:mid=(left+right)//2ifa[mid]==key:returnmidelifa[mid]<key:left=mid+1else:right=mid1return1教师组织学生做“边界体检”:在刚才的列表中分别查找8(第一个元素)、90(最后一个元素)、100(不存在的元素),观察程序是否都能正确返回。学生发现查找100时left最终越过right,循环自然结束并返回1,从而加深了对循环条件“left小于等于right”的理解——等于的情况对应区间只剩一个元素,必须再检查一次,漏掉就会出错。设计意图:把变量变化过程先放到手可触摸的纸笔模拟中操作,再提炼成代码,符合“具体—半抽象—抽象”的认知规律;用边界测试驱动学生理解循环条件,比直接讲授更能留下深刻印象。环节四:对比实验,用数据说话(约10分钟)教师提出问题:两种方法差多少?口说无凭,我们让计算机给答案。学生使用教师提供的测试代码,分别在规模为1000、10000、100000的有序列表中查找一个靠后的目标值,记录两种算法的比较次数,填入学Giventhecontext,Ineedtocontinuetheteachingdesigndocument.Letmecontinuefromwhereitleftoffwiththeparisonexperimentsection.习单的实验记录表。实验结果非常震撼:在10万个数据中,顺序查找平均要比对五万次上下,而折半查找最多17次就得到结论。教师引导学生从数据中提炼认识:折半查找每一步都把范围砍掉一半,若有n个数据,最多查找次数约为对n反复取半直至为1的次数,即以对数规律增长。师生共同用具体数字体会这种增长之慢——n翻十倍,顺序查找的代价也翻十倍,而折半查找只多比三四次。教师板书对比表:算法数据是否有序要求最坏比较次数(n个数据)顺序查找无要求n次折半查找必须有序约log₂n次教师追问两个问题深化理解。其一:既然折半查找这么快,是不是顺序查找可以被淘汰?学生思考后回答:数据无序、数据量小或只查一次时,顺序查找更划算,因为把数据排好序本身也要付出代价。其二:生活中哪些“折半”的例子其实就在身边?学生举出猜数字游戏、商品价格竞猜、电工师傅查找线路断点等,课堂气氛活跃,抽象算法与生活经验完成对接。环节五:迁移应用与课堂小结(约7分钟)教师给出两个辨析任务,小组讨论后代表发言。任务一:某班40名学生无序的成绩名单中查找学号20240315对应的成绩,用哪种算法?学生答:顺序查找,因为无序,折半查找无从下手。任务二:图书馆十万册图书按编号有序存放,要找出某本书,用哪种算法?若改查“书名”呢?学生答:按编号查用折半查找;改查书名后,书目若未按书名排序,需先排序才能折半,否则只能顺序查找。教师点评:算法的选择永远从问题本身出发,看数据是否有序、看查找频次高低、看规模大小,这正是学算法的意义所在。课堂小结由学生完成,教师补充。学生从三个层面归纳:知识层面,掌握两种查找算法的思想、实现与适用条件;方法层面,体验“模拟—抽象—编码—验证—比较”的算法研究流程;思维层面,体会到“每次都把问题规模减半”的分治思想,这一思想还会在排序等后续内容中再次相遇。八、板书设计主板书以表格与推导链呈现:查找算法的程序实现一、顺序查找:逐个比较→命中返回下标,比完返回1二、折半查找(前提:有序)mid=(left+right)//2小于目标→left=mid+1大于目标→right=mid1left>right时查找失败三、效率对比:n个数据,最坏n次对约log₂n次四、选择依据:有序与否、数据规模、查找频次副板书保留学生纸笔模拟中left、right、mid的变化轨迹,供课堂随时回看。九、作业设计基础性作业:完善课堂程序并写清注释;在含有重复元素的有序列表中运行折半查找,观察返回的是哪一个匹配位置,并说明原因。提升性作业:某地气象站一年中逐日最高气温已按数值升序排列,编程用折半查找找出与25℃最接近的那一天的温度值,体会“三分支判断”向“寻找最接近值”的变式。探究性作业:调查生活中一个真实查找场景(如手机通讯录搜索、电商商品检索),试分析它可能采用了什么策略,写一段两三百字的分析报告,下节课交流。分层
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理专业护士护理技能竞赛
- 现代企业宝典-公司治理(青岛工学院)知到智慧树章节测试掌握度答案
- 地球生病了 标准课件
- 医学课件-妇必舒涂膜剂的制备及苦参碱的含量测定
- 五步拳教学专题培训市公开课金奖市赛课一等奖课件
- 休克病人的护理
- 2026年电子制造纯水系统节能改造
- 2025年医学分析-专题二 生物的新陈代谢
- 医学课件-灭火器使用、急救假人使用、逃生救援装置使用-20251103-183114
- 人教新课标高中数学B版必修1-不等式恒成立问题-“二次函数型”教学设计3
- 医疗设备软件测试计划设计模板
- 特种设备安全管理机构成立通知范例
- 高中学生心理安全健康的课件
- TCECS 1632-2024 纤维复合砂浆和活性粉末混凝土薄层喷涂施工及质量验收标准
- 浙江湖州市城市投资发展集团招聘笔试题库2025年附答案
- 气球反冲小车课件
- 往复式真空泵课件
- MIDASM32数字调音台说明书
- 复旦大学-2025年城市定制型商业医疗保险(惠民保)知识图谱
- 2025-2026学年江苏省连云港市海宁中学上学期七年级开学考试数学试题
- 污水厂安全培训课件
评论
0/150
提交评论