版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高中信息技术选修1“数组的应用——有序数据的高效处理”教学设计一、教材分析与学情研判本节内容选自浙教版(2019)高中信息技术选择性必修1《数据与数据结构》第二章第一节第二课时。前一课时学生已经掌握数组的概念、一维数组的声明与访问方式,理解了数组元素在内存中连续存储、通过下标实现随机访问这一核心特征。本课时的任务是把数组从“会用的语法”提升为“解决问题的工具”,围绕数组的遍历、查找、排序、插入与统计等典型应用展开,为后续学习队列、栈以及更复杂的算法打下数据结构层面的根基。授课对象为高二年级选考信息技术的学生。从前期课堂观察与作业数据看,学生存在三个典型问题:其一,习惯用单变量思维处理批量数据,面对“一个班级50名学生成绩”这类情境,写出50个变量的代码并不少见,说明尚未建立“批量数据用数组组织”的自觉;其二,下标越界错误频发,学生对“长度为n的数组下标范围是0到n1”这一规则停留在记忆层面,缺乏对内存布局的直观理解;其三,算法意识薄弱,遇到查找、排序任务时能写出能跑的代码,但说不清时间代价,更谈不上比较两种方案的优劣。基于以上研判,本课的教学重心不是罗列数组的若干应用,而是让学生在真实数据任务中经历“用数组组织数据—用循环访问数据—用算法加工数据”的完整链条,体会数组作为最基础数据结构的价值,同时建立初步的效率观念。二、教学目标知识与理解目标:学生能说清数组元素的存储特点与下标访问机制,能归纳数组应用的基本模式,即“定义数组—组织数据—循环遍历—按规则加工”,能描述顺序查找、二分查找、简单排序(选择排序或冒泡排序)以及数组元素插入删除的基本过程。技能与操作目标:学生能用Python列表实现数据的批量读入与遍历,能独立编写顺序查找和简单排序程序,能在给定框架下完成二分查找,能通过添加计时或计数语句粗略比较两种查找算法的执行次数。思维与素养目标:在成绩管理、疫情流调数据筛查等真实情境中,学生能判断何种问题适合用数组组织数据,能体会“有序”结构带来的算法红利,理解“数据如何存储决定算法如何设计”这一数据结构与算法之间的深层关联,发展计算思维中的抽象、建模与评估能力。态度与价值目标:通过对比“逐个翻找”与“有序定位”的效率差异,学生能形成优化意识,初步建立用数据说话、用实验验证观点的科学态度。三、教学重点与难点教学重点是数组应用的通用模式:遍历、查找、排序三类基本操作的设计思想与代码实现。教学难点有两个:一是二分查找中区间收缩的逻辑,尤其是左右边界的更新条件与循环终止条件;二是让学生理解“先有序、再高效”背后的因果链,而不是把二分查找当作又一段需要背诵的代码。难点突破的策略是:不以讲代码为起点,而以“猜数字游戏”和“翻字典找字”为认知入口,让学生在低技术含量的活动中亲身执行二分策略,再把人的策略翻译为机器能执行的指令序列,最后通过故意设置边界数据的测试暴露下标错误,让错误的代价可见。四、教学方法与资源准备采用任务驱动、对比实验与小组探究相结合的方法。教师活动以情境创设、追问引导和错误资源捕捉为主,学生活动以编程实践、数据测量和小组互评为主。课前准备:机房安装Python3.x环境;教师准备三份程序半成品(顺序查找框架、二分查找框架、排序框架,关键语句留空);准备两组测试数据,一组为10000个无序整数,一组为10000个升序整数,以文本文件形式提前分发到学生机;准备课堂计时与次数统计的代码片段模板;黑板一侧预留“错误案例墙”。五、教学过程(一)情境导入:一本点名册引发的思考(约6分钟)上课伊始,教师投影两个场景。场景一:教务处要在全校2400名学生的名单中查找一位同学,名单按学号排列在Excel表中;场景二:图书馆要在书架上找一本书,书架上的书按索书号有序排列。教师提问:如果让你人工完成这两项任务,你会怎么做?学生通常会回答“按学号大概翻到对应位置”“按索书号一段一段找”。教师追问:为什么不从第一页第一行开始一个一个对?学生能答出“太慢”。教师继续追问:为什么“不按顺序来”反而更快?是因为名单有什么特别之处?学生的回答会落在“名单是排好序的”这一点上。教师顺势板书课题:数组的应用——有序数据的高效处理。并明确本课的探究主线:计算机处理批量数据时,怎么存、怎么找、怎么排,这三个问题的答案之间有什么联系。此环节不使用任何代码,只激活学生已有的生活经验,让“有序带来高效”成为本课第一颗钉子。(二)任务一:数组的组织与遍历——让批量数据各就各位(约10分钟)教师给出问题:某班一次信息技术测验有50个成绩,现需要输出全班平均分、最高分和所有成绩在平均分以上的学生人数。学生先独立尝试。教师巡视时重点观察是否还有人试图用多个变量表示成绩,若有,不批评,而是请他在全班面前统计一下自己写了多少个赋值语句,再展示用数组处理的版本。核心代码由师生共同完善:scores=[87,92,76,88,95,...(共50个数据)]total=0foriinrange(len(scores)):total=total+scores[i]avg=total/len(scores)教师在此强调数组应用的第一条规律:处理批量数据,第一步永远是“想清楚数据怎么进数组”,第二步是“用一个循环让每个元素都被访问一次”,这个模式叫遍历。遍历是所有数组应用的母操作:统计是遍历加累加,查找是遍历加比较,插入是遍历加搬移。为让这个说法落地,教师现场把“求平均分”改造成“统计优秀率”,只改循环体内三行,学生能直观看到遍历框架的稳定性与循环体逻辑的灵活性。随后请学生口头回答:如果数组长度是n,这个统计程序大概执行多少次基本操作?学生答出与n成正比,教师记下“O(n)级别”这一表述但不展开形式化定义,只说“数据翻倍,时间大约也翻倍”。(三)任务二:查找——无序与有序的对决(约15分钟)这是本课的核心环节,采用对比实验法。第一步,顺序查找。教师提供10000个无序整数文件,要求写程序查找数字7777是否在其中,并统计比较次数。学生在教师给出的框架上补全:data=[读入的10000个整数]target=7777count=0found=1foriinrange(len(data)):count=count+1ifdata[i]==target:found=ibreak学生运行后汇报各自的count值,由于目标位置随机,各组数字不同,大致从几千到上万。教师引导观察:最坏情况下要把整个数组翻一遍,比较次数与数据量n同阶。第二步,二分查找。教师将数据换成升序的10000个整数,先不急着讲算法,而是回到开课时翻名单的经验,请一名学生用语言描述“在有序数组中找7777”的做法:看中间的数,比它大就往右半找,比它小就往左半找。教师把这句“人话”逐句转译为代码:left=0right=len(data)1count=0found=1whileleft<=right:mid=(left+right)//2count=count+1ifdata[mid]==target:found=midbreakelifdata[mid]<target:left=mid+1else:right=mid1各组运行后汇报count,绝大多数在14次以内。此时教室通常会出现惊讶的反应,教师抓住时机板书对比:10000个数据,顺序查找最坏10000次,二分查找最坏约14次。教师提问:为什么正好是十几次?引导学生发现每次比较排除一半数据,2的14次方约等于16384,已经超过10000,所以最多14次。学生由此理解对数级别的增长有多慢——数据从1万涨到1亿,二分查找的比较次数只从14次涨到约27次。第三步,错误暴露。教师故意展示一个常见错误版本:把right=mid1写成right=mid,left=mid+1写成left=mid,并让学生用“目标在数组中但靠近末尾”的数据测试,程序陷入死循环。学生亲眼看到光标停顿、程序不返回,教师再引导分析:当中间元素不等于目标时,它本身已经没有再次检查的必要,边界必须跨过它,否则区间永远不收缩。这一演示比讲十遍“注意边界”更有效。教师最后总结二分查找成立的前提:数组必须有序。并抛出贯穿本课的因果链——“有序”不是白来的,它要靠排序换来,这就引出下一任务。(四)任务三:排序——把无序变有序的代价与回报(约12分钟)教师先请学生用“人如何整理一手扑克牌”的经验说出排序的朴素做法,再聚焦到选择排序,因为它与“每次挑出最小的放到前面”这一直觉吻合。教师用8个元素的数组在黑板上演示选择排序的全过程,每一轮用不同颜色的粉笔标出当前已确定的前缀和本轮选出的最小值位置,让学生看清“第i轮把第i小的元素换到第i个位置”的不变性质。随后给出代码:a=[42,17,89,5,63,28,71,34]n=len(a)foriinrange(n1):minpos=iforjinrange(i+1,n):ifa[j]<a[minpos]:minpos=ja[i],a[minpos]=a[minpos],a[i]学生补全并运行后,教师提出关键问题:排序本身要花多少次比较?学生通过数内外循环得出约n×(n1)/2次。教师组织讨论一个看似简单却直击本质的问题:既然排序这么贵,为什么还值得先排序再查找?讨论后师生共同得出结论:只做一次查找,排序不划算;但同一个有序数组可以服务成千上万次查找,排序的成本被摊薄到几乎为零。学校建一次有序名单,可以供无数次的学号查询使用,这就是“一次投入、长期受益”的工程思想。教师在此点出本课标题中“应用”二字的深意:应用思维不是单个算法漂亮,而是围绕数据的整个使用周期做整体权衡。(五)综合实践与展示评价(约10分钟)学生四人一组完成综合任务:模拟简易成绩查询系统。数据为50名学生的学号与成绩,要求实现三个功能:按学号查找成绩(数据按学号有序,用二分查找)、输出成绩从高到低排行榜(排序)、统计各分数段人数(遍历统计)。教师巡视时重点关注三类问题并即时干预:二分查找的下标越界;排序后学号与成绩的关联断裂(学生往往只对成绩排序导致学号错位,教师引导其理解“排序时必须成对移动两个平行数组的元素”,或使用元组列表整体排序);分数段统计的边界判断。各组展示时用同一组测试数据现场运行,师生按四个维度点评:功能是否正确、查找是否用了高效策略、代码是否可读、对极端输入(如查找不存在的学号)是否有妥善处理。发现典型错误时,教师将其匿名化后贴到“错误案例墙”,请全班诊断,把错误转化为公共学习资源。(六)课堂小结与延伸(约2分钟)师生共同回望本课主线:批量数据用数组组织,遍历是访问数据的基本方式;查找的效率取决于数据是否有序;有序靠排序换来,而排序的投入要靠高频使用来摊薄。教师最后用一句话收束:数据结构决定算法的选择空间,这是我们从今天起反复要验证的一句话。课后延伸任务分层布置:基础层,完成教材配套练习中数组应用部分的基础题;提高层,思考“在有序数组中插入一个新元素并保持有序”需要怎样移动元素,与删除操作对比哪个更费力,为下一课时做铺垫;挑战层,查阅资料了解Python内置sort方法背后的排序思想,比较它与选择排序在思想上谁更聪明。六、板书设计主板书按主线展开:左栏为“怎么存——数组连续存储、下标访问”;中栏为“怎么找——顺序查找约n次,二分查找约log₂n次,前提是有序”;右栏为“怎么排——选择排序每轮定一位,约n²/2次比较”。下方横贯一句结论:数据怎么存,决定算法怎么写。副板书为动态生成的错误案例与课堂实测的对比数据。七、教学评价设计评价采用过程性评价与表现性评价结合。过程性评价关注学生在任务二对比实验中的数据记录是否完整、对“为什么二分快”的解释是否指向“每次减半”而非空泛的“算法高级”;表现性评价依托综合实践的四维量规。课后通过三个诊断问题检验目标达成:一是“为什么二分查找要求数组有序”,考察本质理解;二是“长度为1000的有序数组,二分查找最多比较几次”,考察迁移计算;三是“某场景只查找一次,要不要先排序”,考察权衡思维
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河北公务员(行测)考试试卷真题及答案
- 2026寒假返校思想总结报告(3篇)
- ASTM B761-2026 X射线监测重力沉降法测定金属粉末及相关化合物粒径分布的标准试验方法 标准立项发展报告
- 凡纳滨对虾生物饵料育苗工艺优化与中间暂养问题解析:理论、实践与展望
- 凉山州盐源县大坪子村生态移民扶贫:实践、困境与突破路径
- 冰毒戒除者在药物与情绪刺激下行为倾向性的深度剖析与干预策略研究
- 解析2026编导专业试题及答案
- 半成品理化化验员岗位面试题及答案
- 2026年新疆若羌县公安局辅警笔试真题及答案
- 2026年农村宅基地管理业务考试试题及答案
- 2026年湖南湘西自治州州直事业单位招聘考试笔试试卷附答案
- 第3课时 认识更大的数2026-2027学年北师大版四年级数学上册
- 新版2026秋新教科版科学六年级上册全册核心素养教案教学设计合集
- 2026年秋新教材统编版小学语文一年级上册教学计划及进度表
- (2025年)龙港市辅警考试试卷真题带答案
- 2026年郑州财税金融职业学院教师招聘考试备考试题及答案解析
- 2026年中医技术操作综合提升练习试题附完整答案详解(夺冠)
- 缓解入园焦虑教师培训
- 老年性肺炎科普
- 网红直播带货合作协议模板(2026版)
- TCS-贵州分布式电力交易实施指南
评论
0/150
提交评论