高中一年级信息技术教学设计-3.2算法描述与设计之物资购买情境探究_第1页
高中一年级信息技术教学设计-3.2算法描述与设计之物资购买情境探究_第2页
高中一年级信息技术教学设计-3.2算法描述与设计之物资购买情境探究_第3页
高中一年级信息技术教学设计-3.2算法描述与设计之物资购买情境探究_第4页
高中一年级信息技术教学设计-3.2算法描述与设计之物资购买情境探究_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

高中一年级信息技术教学设计——3.2算法描述与设计之物资购买情境探究一、教学设计背景与学情分析本课选自粤教版(2019)高中信息技术必修1《数据与计算》第三章第二节,承接第一节“体验计算机解决问题的过程”,是学生从“看懂程序”走向“设计算法”的关键节点。授课对象为高一年级学生。他们已经在第一节课中亲历了用计算机程序解决问题的一般过程,对程序的运行顺序有了直观感受,但对于“算法”这一概念仍停留在朦胧的经验层面,容易把算法简单等同于程序代码,也容易把自然语言描述当成随意叙述。因此,本课选取“班级秋游物资购买”这一真实情境,让学生在熟悉的校园生活问题中经历算法的抽象、描述与优化全过程。从认知基础看,高一学生在数学学科中已经接触过基本的不等式与分类讨论思想,具备处理“满多少减多少”“买几送一”这类分段计算问题的数学能力;部分学生在初中或校外接触过Scratch或Python,会写简单的赋值与条件语句,但这种能力分布极不均衡。教学必须建立在全体学生都有的生活经验之上,把编程基础较弱的学生用情境托住,把学有余力的学生用拓展任务提起来。《普通高中信息技术课程标准(2017年版2020年修订)》要求学生“依据解决问题的需要,设计和表示简单算法”,并在过程中发展计算思维。本课的价值不在于让学生掌握多少Python语法,而在于让他们形成“先想清楚再动手写”的问题解决习惯,理解算法是独立于具体编程语言的、解决问题的精确步骤序列。二、教学目标信息意识:能够从“班级秋游物资购买”这一真实任务中识别出需要处理的数据,敏锐地发现不同采购方案背后隐藏着不同的计算规则,意识到用程序化方法处理重复决策的价值。计算思维:能够将采购问题抽象为明确的输入、处理与输出,能针对促销规则构造条件判断,能用流程图和自然语言两种方式描述算法,能通过调整比较顺序、合并分支等方法对算法进行优化,体验穷举、分解等算法思想的雏形。数字化学习与创新:能在算法设计的基础上用Python实现简单程序,通过试运行、改数据、再试行的方式验证算法的正确性,初步形成利用数字化环境解决生活问题的行为倾向。信息社会责任:在模拟采购决策中建立成本意识与规则意识,讨论算法偏差、数据录入错误可能带来的实际损失,理解严谨性在信息化系统中的重要地位。三、教学重点与难点教学重点有三个。其一,算法的三种基本描述方式(自然语言、流程图、伪代码)各自的特点与适用场合。其二,用流程图规范地表达含分支结构的采购计算算法。其三,从“商品总价计算”到“多方案比较选优”的算法升级过程。教学难点是两个。其一,条件嵌套情况下判断次序的设计——“先判断大额还是先判断小额”直接影响算法的正确性与简洁性,这需要学生体会逻辑次序的严谨性。其二,从“算一个价格”到“自动比较三个方案并输出最优”这一思维跃迁,涉及最大值(最小值)算法的初步建构。突破策略:用分角色演算生活场景化解逻辑次序的抽象性,用半成品程序填空降低代码实现门槛,用小组互测的数据对抗暴露算法漏洞,让难点在真实的错误中被看见、被修正。四、教学准备硬件环境:多媒体一体机、校园机房(每生一机,预装Python3编程环境与流程图绘制工具)。资源准备:教师提前编制“秋游物资采购模拟单”,包含矿泉水、面包、纸巾三种物资的单价、预估人数、三种促销方案;准备半成品程序文件;印制流程图元件卡片(起止框、输入输出框、处理框、判断框、流程线各若干)。分组方式:异质四人小组,兼顾编程基础强弱搭配,组内设记录员、汇报员、调试员、复核员岗位。课时安排:2课时连排,共90分钟。第一课时侧重算法概念与描述方式,第二课时侧重算法设计、实现与优化。五、教学过程环节一:情境导入——班长的烦恼(8分钟)教师投影一封“来自班长的求助”:班级班主任拨给秋游经费600元,需要为48名同学购买饮用水、面包和湿纸巾。附近三家商店给出了不同的促销方案——甲店矿泉水买四送一;乙店全场满300元减60元;丙店面包满20个打八五折。班长按计算器按了一个晚上,算出的结果三个同学三个样,谁也说服不了谁。教师提问:班长的烦恼本质上是哪里出了问题?学生讨论后指向两点:一是计算规则复杂,人工算容易错;二是三个人算的方法不一样,步骤不一致。教师顺势提炼:如果有一个“谁照着做都能得到同样结果的东西”,问题就解决了。这个东西就是算法。教师板书课题,并给出工作定义:算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。今天这堂课的任务,就是为班长设计一套采购计算的算法,并且让它能够被计算机执行。设计意图:导入不直奔概念,而是让学生先感受到“步骤方法不统一导致结果不可靠”这种切肤之痛,为算法的“确定性”特征埋下伏笔。环节二:最小问题切入——算清一笔账(15分钟)教师把大问题拆小到最小:只买矿泉水,48人每人一瓶,甲店3元一瓶,买四送一,共需多少钱?学生口算与笔算并用,出现三种思路。思路一:48÷5=9组余3瓶,只需付9×4+3=39瓶的钱,共117元。思路二:送的总数是48减去买走又获赠的数量,逐次推算。思路三:把48瓶全部按3元算再减去赠送部分。教师抓住时机提问:请每一步用一句话写出来,写到你同桌能看懂、能照着算为止。学生在任务单上书写,教师巡视,挑选两份典型的自然语言描述投屏对比:一份是“应该算一下48里面有几个5,然后乘4再加余数,再乘3”,另一份严格分行编号、每一步只做一个运算。师生共同归纳自然语言描述算法的优缺点:优点是不用学、人人会写;缺点是有歧义,比如“乘4再加余数”算的是瓶数还是钱数,不细读容易混淆。教师给出规范示例:第一步,输入需购买瓶数n,单价p。第二步,计算完整组数g=n÷5的整数商,计算余数r=n÷5的余数。第三步,实际付费瓶数m=g×4+r。第四步,总费用s=m×p。第五步,输出s。教师特别强调:这个步骤序列与用什么语言编程无关,用Python、用C++、甚至让一个人手工算,都能执行。这就是算法独立于程序语言的本质。设计意图:让学生亲手写一次“不规范的自然语言”并暴露歧义,比直接讲授特征更能让他们理解“确定性”与“可行性”的含义。输入、处理、输出三者的框架也在此处自然现身。环节三:认识三种描述方式——同一算法的三种外衣(12分钟)教师提出任务:把刚才的矿泉水算法,分别用流程图和伪代码重新表达。先由每组领到一套流程图元件卡片,在桌面拼贴出流程图。教师讲解基本图符:圆角矩形表示开始与结束,平行四边形表示输入与输出,矩形表示处理,菱形表示判断,箭头表示流程方向。强调“一个入口、流程连贯、判断框必有两个出口”这三条绘制纪律。学生拼贴过程中,教师发现一个普遍问题:有的组把“计算组数和余数”写进了同一个处理框,有的把输出写成“显示答案”这种含糊表述。教师不急于纠正,而是在汇报环节让各组互评:只看对方的流程图,能否不提问就照着算出120瓶要买多少钱。测试一出问题,学生自己意识到框内表述必须是无歧义的单一动作。教师随后展示规范的伪代码版本:输入n,pg←⌊n/5⌋r←n−g×5m←g×4+rs←m×p输出s组织学生完成一张三角对比表:自然语言通俗易懂但有歧义;流程图结构直观、擅长表达分支循环,但绘制耗时;伪代码介于两者之间,接近程序又不失可读性。教师点拨:实际开发中,团队讨论常用流程图,整理成方案时常用伪代码,给人讲思路时才用自然语言——选择描述方式本身就是一种工程素养。设计意图:同一算法三易其装,学生通过亲手转换,体会到算法描述之间的等价性,并在互评中内化流程图的绘制规范。环节四:难点攻坚——条件分支的判断次序(18分钟)情境升级:乙店的规则改为满300减60,满500减150,两档优惠。问题:买了总价为t元的货物,实付多少?学生大多能想到画判断框,但分歧立刻出现。第一种画法:先判断t是否大于500,是则减150;否则判断t是否大于300,是则减60。第二种画法:先判断t是否大于300,是则减60,再判断t是否大于500,是则再减90。第三种画法(错误典型):先判断t是否大于300,是则减60,结束;再独立判断t是否大于500。教师请三名学生上台“演算法”:一人扮演规则t=620元的顾客,三名学生每人执一种画法,各算各的,当众报数。第一种和第二种算出470元,第三种根据具体画法可能算出410元或560元。台下的学生马上发现第三种画法“同一张单子两个收银员两个价”,算法出问题了。教师引导学生剖析根源:分支结构里,一旦进入某个分支走完就不再回头,判断的先后次序就是优惠的适用规则。先比大额再比小额是“排他式”判定,先减小额再补差额是“阶梯式”逻辑,两者都成立但必须前后一致;而第三种画法把两个判断并列摆放,逻辑上等于允许“满300减60”和“满500减150”错配使用。教师在此基础上归纳分支结构的三种形态:单分支(满足条件才执行)、双分支(二选一)、多分支(多选一,可用elif式表达),并指出多分支本质上可以用双分支嵌套拼出来——这正体现了“用简单结构组合出复杂逻辑”的算法思想。设计意图:用身体活动和大卖场式的“公开算账”把判断次序这一抽象难点具象化,学生在真实的出错现场看到逻辑漏洞的代价,比任何讲解都深刻。环节五:算法升级——为班长选出最优商家(17分钟)教师抛回本课主问题:三种方案算出的总价分别是117元(甲店方案)、乙店方案、丙店方案,能否设计一个算法,自动比较三个结果并输出最优选择?教师先不直接给出求最小值的套路,而是让学生回忆运动会裁判怎么宣布冠军:第一组跑出一个成绩记下来,第二组的成绩和它比,更快就把新成绩记进表里……学生顺着这个生活回路自行建构出“擂台法”:设一个当前最优值best,读入一个新的数据就与best比较,若更小就把best换掉。各组在原来采购算法的基础上补充“选优”模块,画出完整流程图。教师巡视时有意抽查两组,要求他们口头走一遍流程:如果三个方案报价恰好相同,算法会怎样?有的组设计的是“严格小于才换”,结果保持最早方案;有的组设计的是“小于等于也换”,结果保留最后一个。教师指出两者在数学上都正确,但商业意义不同——这就是算法设计中的“策略选择”,设计者必须明确写出自己的规则,这正是算法“确定性”对设计者的反向要求。部分能力较强的小组被引导思考拓展问题:如果商店增加到100家,流程图要画100个比较框吗?学生自然感到不可行,教师点拨:这时就需要循环结构和列表来批量处理,这是我们下一章要深入的内容。一个留有悬念的钩子为后续学习铺路。设计意图:“擂台法”求最小值是高中阶段最重要的算法策略之一,本环节让学生从生活裁判规则中自行生长出它,而不是死记硬背。相同的输入产出不同的正确结果,也让学生体会到算法设计的开放性与严谨性的辩证关系。环节六:代码实现与互测(15分钟)各组打开半成品Python程序,程序骨架如下(关键处留有填空):n=48p=3g=n//5r=n%5s_a=(g4+r)p乙店:满300减60,满500减150t=float(input("请输入乙店商品总价:"))ift>=500:s_b=t150elift>=300:s_b=__else:s_b=__丙店计算(由学生补全)……best=s_aifs_b<best:best=s_bifs_c<best:best=s_cprint("最低总价为:",best)教师讲清符号对应://表示整除取商,%表示取余数——这正是流程图里“求组数与余数”两个处理框在Python中的样子。学生完成填空后运行程序。互测环节是本节课的高潮。每组出三道“刁钻”测试数据交给邻组运行:总价恰好300元、恰好500元出现在边界;总价为0;总价为1050元。数据在组间传递,bug在现场爆发。有的小组发现边界300元时结果不对,追查后发现判断写成了t>300;有的小组发现自己没处理丙店,输出直接报错。教师在黑板上实时记录各班bug清单,归成三类:边界条件错误、分支次序错误、变量未赋值。教师总结:程序出bug不可怕,可怕的是没有暴露bug的测试数据——设计测试数据本身也是一种算法思维。设计意图:半成品程序降低语法门槛,把课堂时间留给逻辑思考;互测机制利用同伴的“恶意”数据逼近算法的鲁棒性,让学生在真实的调试中建立严谨品格。环节七:课堂小结与反思提升(5分钟)学生以“一句话收获”接龙的方式回顾全课,教师把学生的话语归类到板书的三条主线上:其一,算法是有限步骤内解决问题的明确规则,独立于语言而存在;其二,自然语言、流程图、伪代码各有所长,流程图的四类图符与判断框双出口是表达分支的关键;其三,好的算法需要设计好的测试数据来验证,边界值是最好的试金石。教师以一段点评收束:今天大家为班长解决的,表面上是一次秋游采购,实质上完成了一次完整的“问题—抽象—描述—实现—验证”的计算思维之旅。电商平台大促时自动比价、食堂按就餐人数自动核算采购量,背后都是与今天同构的算法。作业布置分层设计。基础作业:绘制“计算快递运费(首重12元,每续重1千克加2元,不足1千克按1千克计)”算法的流程图。提高作业:把课堂程序扩展为可输入三家商店任意促销规则的通用版本,思考数据结构如何改变。实践作业:观察生活中一处可以用算法优化的问题,用50字左右描述输入、处理与输出,下节课交流。六、板书设计主板书居中书写课题“算法描述与设计——物资购买”。左区列算法三特征:有穷性、确定性、可行性、有输入、有输出(结合本课逐步补充括号内的情境旁注)。中区自上而下呈现三种描述方式的对比要点与流程图四图符图示。右区固定挂“擂台法”求最优的三步要点与本节课的bug三分类清单,作为学生随时回

温馨提示

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

评论

0/150

提交评论