高中一年级信息技术Python选择结构描述问题求解过程教学设计_第1页
高中一年级信息技术Python选择结构描述问题求解过程教学设计_第2页
高中一年级信息技术Python选择结构描述问题求解过程教学设计_第3页
高中一年级信息技术Python选择结构描述问题求解过程教学设计_第4页
高中一年级信息技术Python选择结构描述问题求解过程教学设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

高中一年级信息技术Python选择结构描述问题求解过程教学设计一、教学内容分析本课选自粤教版(2019)高中信息技术必修1《数据与计算》第四章第三节,主题是运用选择结构描述问题求解过程。选择结构是程序设计三大基本结构之一,位于顺序结构之后、循环结构之前,起着承上启下的关键作用。学生在前面的学习中已经掌握了Python的基本语法、变量与数据类型、输入输出语句以及算术运算和关系运算,具备了编写简单顺序结构程序的能力。本节课要解决的问题是:当程序需要根据条件做出判断、在不同分支中选择执行路径时,如何用if语句把这种思维过程准确地描述出来。教材以生活化的判断情境为切入点,引出单分支if语句、双分支if...else语句和多分支if...elif...else语句三种基本形式,并通过具体的问题求解案例展示选择结构的描述方法。选择结构看似语法简单,但其中的条件表达式设计、分支逻辑覆盖、嵌套关系处理,恰恰是初学者最容易出错的地方,也是计算思维培养的核心载体。二、学情分析授课对象为高一年级学生。他们思维能力活跃,对编程有好奇心和成就感需求,经过前几章学习已经能读懂简单的Python程序,会使用input()、print()函数和基本运算符。但这个阶段的学生普遍存在三个困难:一是把自然语言中的判断转化为严格的布尔表达式时不够严谨,容易遗漏边界条件,例如把"大于等于60分"写成score>60;二是对多分支判断中条件的排列顺序缺乏逻辑意识,导致分支覆盖错误或产生不可达分支;三是调试能力薄弱,程序运行结果不符合预期时不知从何查起。教学设计必须直面这些真实困难,通过错例辨析、边界测试、流程图辅助等手段逐一化解。三、教学目标信息意识方面,学生能够识别生活和学习中蕴含条件判断的问题情境,意识到这类问题适合用选择结构来求解,形成"用程序描述判断过程"的意识。计算思维方面,学生能够将具体问题抽象为"条件—分支"模型,用自然语言和流程图描述判断逻辑,再转化为if语句代码;能够分析多分支问题中条件之间的包含与互斥关系,合理设计分支结构;养成用边界数据测试程序的思维习惯。数字化学习与创新方面,学生能熟练使用Python集成开发环境编写、运行、调试选择结构程序,能借助在线资源和同伴协作解决调试中遇到的问题。信息社会责任方面,通过"自动判分""会员折扣"等案例的讨论,引导学生思考算法判断背后规则制定的公平性与严谨性,体会程序中一个条件写错可能带来的实际后果。四、教学重点与难点教学重点是if语句、if...else语句、if...elif...else语句的语法格式及其适用情境,条件表达式的正确书写。教学难点是多分支问题中条件的逻辑组织与边界处理,以及嵌套选择结构的合理运用。突破策略是"先画图、再写码、后测试"三步走:任何选择结构程序都先用流程图理清判断路径,再落笔写代码,最后用精心设计的三类测试数据(分支内数据、边界数据、非法数据)验证程序的正确性。五、教学方法与课前准备本课采用情境驱动、任务分层、错例教学相结合的方法。教师准备多媒体课件、若干个埋有典型错误的半成品程序、流程图模板卡片;机房安装Python3.x环境并保证网络畅通;按异质原则将学生分为四人小组,每组设一名操作较熟练的学生担任"技术小导师",负责组内答疑的第一道关口。六、教学过程(一)情境导入:机器会判断吗(约6分钟)上课伊始,教师在屏幕上运行一个自己编写的小程序:输入考试成绩,程序回答"恭喜,及格了"或"很遗憾,未及格"。邀请三位学生上台输入自己设定的分数,观察程序的回应。教师顺势提问:前面我们写的程序都是从第一行乖乖执行到最后一行,可这个程序显然"走了不同的路",它是怎么做到根据分数选择说话内容的?学生回忆、猜测。教师不急于公布答案,而是板书一个生活问题:出门前看天,如果下雨就带伞,否则不带伞。请学生用自己的话描述这个判断过程。学生自然地说出"如果……就……否则……"。教师点明:人类的判断思维,在Python中对应的就是选择结构,今天我们就学习用选择结构来描述问题的求解过程。设计意图:用可交互的小程序制造认知冲突,让学生直观感受到"程序会分叉",再用生活语言与程序语言的对照,降低新知识的陌生感,完成从自然语言判断到程序逻辑判断的心理过渡。(二)新知建构一:单分支if语句(约8分钟)教师呈现问题:某游乐场规定,身高达到120厘米的儿童需购买门票。输入身高,若需购票则输出"请购票入场"。教师带着学生画流程图:开始→输入身高h→判断h≥120?→是,则输出提示→结束;"否"的分支直接流向结束。在画流程图的过程中强调菱形判断框有两个出口,这是选择结构区别于顺序结构的本质特征。随后教师对照流程图逐行讲解代码:h=float(input("请输入身高(厘米):"))ifh>=120:print("请购票入场")教师特别强调三个语法要点。第一,条件后面必须有英文冒号,冒号是"接下来是我要说的话"的标志。第二,条件成立时要执行的语句必须缩进四个空格,缩进不是装饰,而是Python表达从属关系的语法机制。第三,关系运算符">="是一个整体,不能写成"=>",更不能把数学里的"≥"直接搬进代码。学生在机房模仿完成该程序,教师巡视,捕捉典型错误投屏展示:忘记冒号导致SyntaxError、忘记缩进导致IndentationError、把input读入的字符串直接与整数比较导致TypeError。每展示一个错误,请出错学生自己读报错信息、定位行号、说出修改方案。教师总结:报错信息是程序写给我们的信,学会读信是程序员的基本功。(三)新知建构二:双分支if...else语句(约7分钟)教师提出升级问题:还是身高判断,但这次要求无论是否达标都要有回应——达到120厘米输出"请购票入场",否则输出"身高不足,可免票入园"。学生发现单分支语句无法覆盖"否则"的情形。教师引出if...else结构,同样先画流程图,再给出代码框架,让学生观察else匹配的缩进位置必须与if对齐,且else后面没有条件只有冒号,因为它表达的是"除上述情况外的所有其他情况"。教师追问一个辨析问题:能不能用两个独立的if语句实现同样的效果?即一个if判断h>=120,另一个if判断h<120。学生讨论后明确:功能上可行,但逻辑上if...else更严谨,因为两个分支天然互斥且完备;而写两个独立if需要程序员自己保证两个条件互补无遗漏,一旦条件写错(例如都写成>=),就会出现两个分支都执行或都不执行的逻辑漏洞,而程序不报错,这种"沉默的错误"最危险。设计意图:通过"能不能替代"的思辨,让学生理解语法设计背后的逻辑考量,而不是把if...else当作死记硬背的格式。(四)新知建构三:多分支if...elif...else语句(约10分钟)教师抛出本课核心任务:设计一个成绩等级评定程序。输入百分制成绩score,90分及以上输出"优秀",80到89分输出"良好",60到79分输出"合格",60分以下输出"待努力"。学生先在小组内画流程图,教师巡视并挑选两份有代表性的流程图投影对比:一份条件写成区间形式(如80<=score<90),一份利用elif的层叠特性只写下界(如score>=80)。教师引导学生发现:在if...elif结构中,程序自上而下依次判断,一旦某个条件成立,后面的条件不再检查,因此进入第二个分支时已经可以默认"不满足第一个条件",条件只需写下界即可。这个"自上而下、短路求值"的执行机制是多分支结构设计的钥匙。随后教师布置一个精心设计的辨析任务,屏幕展示一段错误代码:ifscore>=60:print("合格")elifscore>=80:print("良好")elifscore>=90:print("优秀")else:print("待努力")学生输入95分测试,发现输出的是"合格"。小组讨论病因:条件排列顺序颠倒,宽泛的条件排在前面"截胡"了本应进入高分分支的数据,后面两个分支成了永远走不到的死路。修改方案是把条件按从高到低的顺序排列。教师提炼出多分支设计的排序原则:条件范围由窄到宽,或者由高到低递降排列,保证每个分支都能被触达且互不遮蔽。接着教师布置边界测试任务:请各组分别输入89、90、60、59、100、105、5,观察程序反应。学生发现90刚好进入"优秀",验证边界处理正确;同时发现105分和5分也会被程序"认真"地评级,这显然不合理。教师引导学生在最外层增加数据合法性校验:先判断0<=score<=100,不合法则提示"成绩输入有误",合法才进入等级判断。由此自然引出嵌套选择结构的概念——选择结构的分支里可以再包含选择结构,同时提醒嵌套层级不宜过深,超过三层应考虑重构。设计意图:不直接给出完美代码,而是让学生在顺序颠倒的错例中"摔跤",在非法数据的意外结果中"补漏",由此获得的逻辑严谨性认识远比背诵规则深刻。(五)综合实践:分层任务闯关(约10分钟)基础任务(人人必做):编写"公交票价计算"程序。输入年龄,12周岁以下或65周岁及以上输出"免费乘车",其余输出"请投币2元"。考查双分支结构及逻辑运算符or的使用。进阶任务(小组合作):编写"BMI健康提示"程序。输入体重(千克)和身高(米),计算体质指数BMI=体重÷身高的平方,BMI小于18.5提示"偏瘦",18.5至24提示"正常",24至28提示"超重",28及以上提示"肥胖"。要求先合法化校验(体重、身高必须为正数),再用多分支完成分级,并用至少五组数据自测。挑战任务(学有余力):编写简易"闰年判断"程序。规则是:能被4整除但不能被100整除的是闰年,或者能被400整除的也是闰年。鼓励学生尝试用and、or、not组合条件,比较"一层复杂条件"与"多层嵌套判断"两种写法的可读性。小组活动要求分工明确:一人主敲代码,一人核对流程图,一人负责设计测试数据,一人记录调试过程与结论。教师巡回指导,对共性问题集中讲解,对个性问题点拨思路而不直接给出答案。技术小导师优先在组内排错,解决不了再求助教师,借此训练同伴互助的问题解决链条。各组完成后,教师邀请两个小组展示进阶任务的成果,讲解各自的条件设计思路和测试数据的选择依据。其他同学从"分支是否完备、边界是否正确、输入是否校验"三个维度进行评价,教师点评时重点肯定测试意识,指出展示组之间条件写法的差异并无优劣,关键是逻辑自洽。(六)课堂小结与提炼(约3分钟)教师带领学生回顾本课所学的三种条件语句形态及适用场景:单一关卡用if,非此即彼用if...else,多重分级用if...elif...else。再把四条经验凝练成口诀板书:冒号别丢,缩进对齐;条件排序,窄先宽后;边界数据,必须测试;非法输入,先行拦截。教师提升立意:选择结构让程序拥有了"判断力",而判断的准确与否完全取决于我们描述规则的严谨程度。写程序如此,表达任何规则亦如此,逻辑严密是一种可迁移的素养。(七)布置作业(约1分钟)课后完成两项任务。其一,完善课堂上的BMI程序,把测试过程截图附在代码文档中。其二,选做拓展:调查家里水电阶梯计费的规则,尝试画出流程图并用多分支结构编写计费程序,下节课交流。鼓励学生用思维导图整理选择结构的知识框架。七、板书设计板书分三区。左侧为知识主线:选择结构→if(单分支)→if...else(双分支)→if...elif...else(多分支)→嵌套。中间为主任务的成绩分级流程图与核心代码对照。右侧为易错警示栏:冒号、缩进、条件顺序、边界测试。三区布局让学生抬头即可看到本课的逻辑全貌。八、教学评价设计本课采用过程性评价与结果性评价相结合的方式。过程性评价嵌入课堂各环节:情境导入看学生能否识别判断情境,新知建构看错误辨析的参与度与准确率,实践环节通过巡视记录各组的流程图质量、代码规范性和测试数据设计水平。结果性评价依托课后作业,从功能实现、逻辑严谨、容错处理、文档规范四个维度按等级评定。小组互评使用三维标准(分支完备、边界正确、输入

温馨提示

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

最新文档

评论

0/150

提交评论