高中信息技术教科版选修一《算法与程序设计》“用分支结构解决校园生活中的决策问题”教学设计_第1页
高中信息技术教科版选修一《算法与程序设计》“用分支结构解决校园生活中的决策问题”教学设计_第2页
高中信息技术教科版选修一《算法与程序设计》“用分支结构解决校园生活中的决策问题”教学设计_第3页
高中信息技术教科版选修一《算法与程序设计》“用分支结构解决校园生活中的决策问题”教学设计_第4页
高中信息技术教科版选修一《算法与程序设计》“用分支结构解决校园生活中的决策问题”教学设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

高中信息技术教科版选修一《算法与程序设计》“用分支结构解决校园生活中的决策问题”教学设计一、教学背景分析本课选自教育科学出版社高中信息技术选择性必修一《算法与程序设计》中“程序的核心结构”单元。学生在必修模块中已经完成数据与计算的学习,初步接触Python语言,能够写出顺序结构的简单程序,会用print函数输出结果,会用input函数接收输入。但从“能写程序”到“会用程序解决真实问题”之间,横着一道明显的坎:学生拿到一个需要判断、需要分类处理的问题时,往往不知道从何处下手,写出来的代码要么逻辑链条断裂,要么把所有情况混着踩一遍。分支结构是程序设计三大基本结构之一,是算法思想的载体。本课不以语法知识本身为终点,而以“如何让计算机替人做决策”为主线,把if语句的学习嵌入校园真实情境,让学生在“分析问题—设计算法—编写程序—测试调试”的完整链条中体会计算思维的价值。依据普通高中信息技术课程标准对计算思维的要求,学生应能把真实问题抽象为可计算的问题,设计并实现算法,对程序运行结果进行解释与验证。本课正是落实这一要求的关键节点。二、学情研判授课对象为高二年级选修本模块的学生,共42人,男女生比例约为三比二。通过前测发现,全班都能正确理解“如果……否则……”的日常语义,约七成学生曾用Scratch搭过判断积木,但对文本代码中的条件表达式、缩进规范、分支嵌套普遍陌生。前测中有一道题:“输入成绩,80分以上输出优秀”,有九名学生的伪代码写成了并列的两个判断“如果大于80输出优秀;如果小于等于80输出不合格”,却没有意识到两个判断是互斥关系,缺少else的归拢意识。这正是本课要突破的认知障碍。学生的学习风格呈现两极:一部分学生喜欢先看例子再模仿,另一部分学生愿意直接上手试错。据此,本课采用“情境引路、任务分层、结对互助”的组织方式,让不同起点的学生都能进入最近发展区。三、教学目标1.知识与技能目标:能说出分支结构的作用与执行流程,正确书写if、ifelse、ifelifelse三种形式的Python分支语句,理解条件表达式的值只有True与False两种结果,掌握缩进对代码归属关系的决定作用。2.过程与方法目标:经历“情境问题—自然语言描述—流程图表达—代码实现—测试验证”的完整过程,能把多分支问题拆解为若干互斥条件,能针对程序的边界值设计测试数据。3.情感与价值目标:体会算法公平性的意义,认识到“代码即规则”,写程序的人实际上在替规则负责;在结对调试中养成倾听与协作的习惯。四、教学重点与难点教学重点:单分支、双分支、多分支语句的语法规范与执行逻辑;条件表达式的构造。教学难点:多分支问题中条件的划分与排序;缩进层级与逻辑关系的对应;边界值测试意识。难点之所以是难点,在于它考的不是记忆,而是思维的严密性——条件之间是否互斥、是否穷尽、顺序是否合理,任何一点松懈都会酿成逻辑漏洞。五、教学方法与资源准备采用情境教学法、任务驱动法、小组协作法。机房配置:多媒体教学系统、Python3.x环境、每生一份电子学案、流程图卡片若干、磁性数字卡片一组。课前在机房共享文件夹中放置半成品代码文件grade_basic.py、weight_empty.py、test_card.docx,供课堂分层使用。六、教学过程(一)情境导入:一张体测成绩单引发的思考(7分钟)上课铃响,教师大屏展示学校体质健康测试的评分说明:男子1000米跑,3分40秒以内为优秀,3分41秒至4分05秒为良好,4分06秒至4分35秒为及格,其余为不及格。教师提问:“体育老师有45名同学的成绩要登分,他想知道每个人的等级。如果请你用学过的Python帮他,你会怎么做?”学生几乎异口同声回答“用输入输出”。教师顺势追问:“输入一个成绩之后,程序凭什么判断它是优秀还是及格?这个‘凭什么’就是今天要学的东西。”学生活动:两人在座位上互说,用日常语言描述判断过程。教师随机请两名学生复述,板书学生口头语言中的关键词:“如果……就……否则……”教师点评:人类的语言天生带有判断结构,程序设计语言只是把这种结构翻译成计算机能严格执行的形式。设计意图:从学生刚刚经历过的体测切入,问题真实、门槛为零,让“分支”这个概念在学生开口说话的瞬间自然浮现,而不是从语法说明书中空降下来。(二)新知建构一:单分支结构——“提醒”只需要一句话(10分钟)教师切换情境:晚自习放学时间是21点30分,想给家长写一个小程序,输入当前时间,如果超过21点30分,就提示“可以来接孩子了”。教师顺势给出代码:time=float(input("请输入当前时间,如21.45表示21点45分:"))iftime>21.5:print("可以来接孩子了")教师逐行讲解:if是英文“如果”的意思,后面跟的是一个条件表达式,它的计算结果只能是真或假;冒号表示“接下来是我的地盘”;下面缩进的语句是这个条件成立时才执行的动作,缩进用四个空格,这是Python语言的规定,缩进错了,代码的归属关系就错了。为了让学生看清缩进的作用,教师现场故意把print语句顶格书写,运行输入22.0和20.0两组数据,学生发现无论输入什么,提示语都出现了。教师提问:“为什么条件不成立它也执行?”学生通过观察缩进得出结论:顶格的语句不属于if,它永远会执行。这一眼就是难点消化的过程,比讲三遍定义都有效。巩固练习一:学生打开半成品文件,完成任务A——“输入体温,若超过37.3度,输出‘请到保健室复测’”。学生独立完成,教师巡视,重点关注两类典型错误:条件写反(37.3>temp)和冒号遗漏。巡视中收集两份有代表性错误的作业,稍后集中点评。设计意图:单分支是最小完备的例子,用它承载“条件、冒号、缩进”三个语法要点,信息量少而焦点集中;故意制造的错误演示以视觉证据替代抽象说教,学生对缩进的敏感性就此建立。(三)新知建构二:双分支结构——“是”与“否”之间不容含糊(10分钟)情境升级:遇到大雨天气,教育局规定气温高于30度允许教室开空调,否则不允许。教师提问:“刚才的如果结构只说了‘超过怎么办’,没说‘没超过怎么办’,怎么办?”学生自然地想到再写一个if。教师再写一遍两个if并列的版本,表达“可以,但啰嗦”,引出更严谨的方案else,把“剩下所有情况”一次性接住。教师板书双语对照:单分支:if条件:做事双分支:if条件:做Aelse:做B教师强调else的语义不是“另一个如果”,而是“否则”。它不携带条件,兜住前面if漏掉的一切情况。这就像分苹果,先挑走大的,剩下的全部进另一个筐,不再需要重新描述什么样才算“剩下的”。实战演练二:学生升级为双分支程序——“输入用电量,若不超过180度按0.55元每度计费,超过部分连同基础一并提示‘请节约用电’”。本练习故意在输出信息上做文章,不仅让学生写双分支,还让他们处理两个分支中输出内容的差异。设计意图:用“两个并列if”与“ifelse”的对比,让学生体会else的归拢价值,呼应前测中暴露的“互斥意识薄弱”问题,把认知障碍就地拆解。(四)新知建构三:多分支结构——体测登分程序实战(13分钟)回到开头的体测情境,教师抛出问题:“现在要处理的不是两种情况,而是四种等级,怎么写?”学生在学案上先画流程图,教师提供数字卡片和磁性符号,请一组学生上黑板拼出流程图:开始→输入成绩s→s≤3分40秒吗→优秀→否则继续判断……教师提示把秒换算成统一的数值表示,便于比较。教师示范ifelifelse结构的书写,强调三个要点:一是elif是elseif的缩写,可以有任意多个;二是分支从上到下依次检查,一旦某个条件成立,后面的分支全部跳过,因此条件的排列顺序必须从高到低或从低到高,不能乱序;三是最后的else兜底,负责“前面都不是”的情况,保证所有输入都有归属。程序雏形:s=float(input("请输入1000米成绩(分钟):"))ifs<=3.67:level="优秀"elifs<=4.08:level="良好"elifs<=4.58:level="及格"else:level="不及格"print("等级为:",level)教师引导讨论一个易错点:为什么第二个条件只写s<=4.08而不写s>3.67并且s<=4.08?学生经过讨论明白:能走到第二个条件,说明第一个条件已经不成立,前面的范围已被自动排除,这就是多分支的顺序性带来的简洁。为验证学生是否真懂,教师故意把条件顺序打乱(先判断及格再判断优秀),让学生预测运行后果,再实际运行验证——所有成绩都被判成了“及格”,程序在沉默中出错,这种“不报错但结果错”的bug比语法错误更可怕。分层任务投放:基础层学生完成体测四等级程序的补全与运行;提高层学生挑战嵌套任务——在输入成绩前先判断性别,因男女评分标准不同,需要外层if判断性别、内层再判断成绩等级。教师强调嵌套的缩进是“层中有层”,内层语句要在原有缩进基础上再缩进四个空格。放手让学生动手的同时,教师提出本课的另一个核心要求:测试。教师发放测试卡,要求每组至少用四组数据验证程序:一个落在优秀区间的普通值、一个恰好等于边界的值、一个边界另一侧的值、一个不及格的值。教师讲解边界值测试思想:程序错误最爱躲在边界上,3分40秒和3分41秒只差一秒,却分属两个等级,这样的数据必须测试。各组调试期间,教师巡视记录三组典型情况:一组因把字符串成绩直接与数字比较导致类型错误;一组漏写else导致非法输入无输出;一组嵌套层次缩进错位。这些素材留到下一环节集中使用。设计意图:体测情境首尾呼应,让学生经历从自然语言到流程图再到代码的完整抽象过程;乱序条件的反例直击多分支教学最难讲透的“顺序性”;分层任务与嵌套选做为学有余力的学生提供上升空间;边界值测试把“调试”从碰运气提升为有方法的质量保证活动。(五)合作诊断:我们是代码医生(8分钟)教师将巡视中收集的三份问题代码(隐去姓名)投到大屏,全班扮演“代码医生”会诊。第一份是类型错误的代码,学生阅读报错信息TypeError,追查到input返回的是字符串,需要用float转换。教师借机强化:输入函数的返回值永远是字符串,参与数值比较前必须转换类型。第二份是缺少else的代码,输入异常值时程序一声不吭。学生讨论出两种修法:补else给出“输入有误”提示,或用初值标记法。教师点评:程序面对意外输入的态度,反映了程序员的严谨程度。第三份是嵌套缩进错位的代码,内层判断跑到了外层结构之外,逻辑面目全非。一名学生上机现场修复,边操作边说出“这一行属于谁,就由缩进说了算”。教师总结:缩进是Python世界里逻辑关系的可视化表达,看缩进就是看结构。诊断结束后,每组交换测试——A组用B组的程序跑自己的测试数据,B组亦然。交叉测试暴露出个别组条件顺序隐藏的错误,学生恍然大悟:自己测自己的程序容易“灯下黑”。设计意图:真实错误的集体会诊比任何说教都更能培养调试能力;交叉测试引入软件工程中的同伴评审思想,让学生体验“别人的眼睛”对程序质量的价值,同时训练阅读他人代码的能力。(六)总结提升:分支之外,看见规则(6分钟)教师引导学生构成本课知识树:分支结构用于处理需要根据条件选择路径的问题;if处理“要不要做”,ifelse处理“二选一”,ifelifelse处理“多选一”,嵌套处理“分层判断”;无论哪种形式,条件表达式的结果只有真与假,缩进决定语句的归属,else负责兜底与完备。教师进一步把话题引向深处:“今天我们写的每一行条件,本质上都是一条规则。评分标准写成代码后,由机器一丝不苟地执行,没有人情,也不会疲倦。这带来公平,也带来责任——如果我们在代码里把条件写错了、顺序排错了,被误判的就是真实的人。所以写分支结构时反复检查互斥性与完备性,不只是技术习惯,更是对规则负责的态度。”学生安静片刻,有几人点头。设计意图:知识小结服务于结构化记忆,价值升华则回应课程育人要求,让学生意识到代码背后的规则意识与责任意识,避免把信息技术课上成纯粹的语法课。(七)作业布置:把分支带回家(1分钟)必做题:编写“快递运费计算器”——3公斤以内8元,3至10公斤每公斤加收2元,10公斤以上每公斤加收3元,要求画出流程图并附至少五组测试数据及结果截图。选做题:调查家中或社区里一个用到分类决策的真实场景(如阶梯水价、医保报销比例),用分支结构实现其计算逻辑,下节课用三分钟分享。七、板书设计主板书以思维导图呈现:课题居中,向外辐射四个区块——“三种形式”(if、ifelse、ifelifelse)、“三个铁律”(条件得真假、缩定归属、else兜底)、“一个流程”(问题→流程图→代码→测试)、“一份责任”(代码即规则)。副板书区动态记录学生汇报的关键词与会诊中发现的典型错误。八、教学评价方案过程性评价占六成:流程图卡片的完成质量、课堂任务的达成度、会诊环节的发言质量、交叉测试中发现或解决问题的表现。结果性评价占四成:体测程序的语法正确性、逻辑正确性(以边界值测试数据检验)、代码规范度(缩进、变量命名、必要注释)。评价量规

温馨提示

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

评论

0/150

提交评论