版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高中信息技术必修1《计算停车费——用分支结构解决生活问题》教学设计一、教学背景分析本课选自沪科版(2019)高中信息技术必修1"数据与计算",是项目四"认识智能停车场中的数据处理"的第二课时。第一课时学生已经了解了停车场数据采集的基本方式,知道车牌识别、入场时间记录等环节产生大量原始数据。本课时的任务是向前迈进一步:让学生用程序实现停车费的自动计算,把"数据"变成"结果",真正体验算法与程序设计在解决实际问题中的作用。从课程内容结构看,本课承担着承上启下的功能。前面学生已经接触了Python的基本语法、变量、输入输出和简单表达式,但停留在"单句执行"层面,程序只是按顺序从上往下走。停车计费问题天然包含"判断"——是否超过免费时长、是否跨天、是否属于包月车辆——这正是引入分支结构(if语句)最自然、最真实的载体。分支结构是后续循环结构、函数乃至项目综合实践的逻辑基石,本课的教学质量直接影响学生对整个模块的学习信心。学情方面,授课对象为高一年级学生。他们天天见到停车场,对"入场抬杆、出场缴费"有直观感受,部分学生还帮家长操作过扫码缴费,生活经验充足。但学生普遍存在三个困难:一是读不懂计费规则的文字描述,无法把"前两小时5元,之后每小时3元,不足一小时按一小时计"这类表述转化为数学分段;二是写条件表达式时容易犯"用中文思维写代码"的错误,如把t<=2写成"小于等于2"的口语形式,或误用赋值号"="做判断;三是对程序调试缺乏耐心,报错后倾向于整段重写而不是定位问题。二、教学目标1.信息意识。学生能从停车场的真实场景中识别出需要处理的数据项——停车时长、计费规则、应收金额,并能判断哪些数据需要用户输入、哪些数据由程序计算产生。2.计算思维。学生能把阶梯式计费规则抽象为分段函数,用自然语言和流程图描述判断逻辑,再转化为Python分支结构代码;能针对边界情况(恰好2小时、超过24小时、不足1小时)设计测试数据验证程序。3.数字化学习与创新。学生能在编程环境中独立调试程序,利用错误提示和print中间输出的方法定位逻辑错误,体验"设计—编码—测试—修正"的完整开发过程。4.信息社会责任。通过讨论"计费程序算错钱谁来负责",学生初步认识到程序正确性的社会意义,理解程序员对软件质量负有责任。三、教学重点与难点教学重点:if…elif…else多分支结构的语法格式与执行逻辑;用程序实现阶梯计费。教学难点:计费规则的分段抽象,尤其是"不足一小时按一小时计"所涉及的向上取整处理,以及边界条件测试意识的养成。四、教学准备机房安装Python3.x运行环境及编辑器(IDLE或Thonny均可),教师机配广播教学软件;课前下发导学单,导学单上印有三个不同停车场的真实收费标准照片;教师准备半成品程序文件parking半成品.py,其中故意埋入两处典型错误供课堂调试环节使用。五、教学过程环节一:情境再现,规则读题(约6分钟)上课伊始,教师在大屏播放一段15秒的录像:车辆驶入学校附近商场地下车库,出口处显示屏弹出"停车3小时20分钟,应缴费14元"。教师不急于讲代码,而是抛出问题:这14元是怎么算出来的?学生凭经验七嘴八舌,有人猜每小时4元,有人猜分段计价。教师随后亮出该车库的真实计费牌:小型车收费标准如下——30分钟内免费;超过30分钟,首小时5元;之后每半小时2元,不足半小时按半小时计;24小时封顶60元。教师布置第一个任务:同桌两人合作,前后算三笔账——停20分钟收多少?停1小时10分钟收多少?停3小时20分钟收多少?三分钟后随机请两组报答案和算法。20分钟免费,学生无异议;1小时10分钟,有的组说7元,有的组说6元,争论点恰好在"超过首小时的10分钟要不要按半小时计",教师借此强调:规则解读的精确性决定了后面程序的精确性,计算机不会"差不多就行"。3小时20分钟的计算过程由师生共同完成:首小时5元,剩余2小时20分钟,按半小时为单位向上取整得5个半小时单位,5×2等于10元,合计15元——咦,与录像中的14元不符。教师顺势引导学生发现录像车辆可能使用了会员优惠或错峰定价,说明真实系统比我们看到的规则更复杂,而程序设计的第一步永远是先把规则彻底弄清楚。设计意图:用真实录像和真实价目表制造认知冲突,"三笔账"中的第三笔特意与录像不符,让学生在"对不上"中产生探究欲,同时示范了读规则、抠字眼的思维习惯,为分段抽象埋下伏笔。环节二:从生活语言到数学分段(约10分钟)教师说明:为了让规则更利于上机,我们把上述标准稍作简化,形成本课的任务规则:设停车时长为t分钟,费用f的计算规则为——t≤30时,f=0;30<t≤60时,f=5;t>60时,f=5+2×⌈(t−60)÷30⌉,其中⌈⌉表示向上取整;若计算结果超过60元,则按60元收取。教师带领学生把这个规则自然语言翻译成"如果……那么……"的句式,逐条板书:如果t≤30,那么费用为0;否则,如果t≤60,那么费用为5;否则,费用为5加上超出部分的加价,但总价不超过60。学生此时第一次直观看到"否则,如果"这一表述,教师点明:这就是多分支结构的日常语言形态,Python中的elif就是"否则如果"的缩写。接着学生在导学单上补全流程图:菱形判断框"t≤30?"引出两个分支,第二菱形"t≤60?"嵌在"否"的分支上,三个矩形处理框分别对应三种费用计算。教师巡视,重点检查箭头和判断框的出口标注是否完整,流程图规范性的问题当场纠正。随后处理本课最难的一个点:向上取整。教师提问:停70分钟,按规则该收多少?学生口算:超出10分钟,10÷30约等于0.33,0.33个"半小时单位"怎么收?规则说不足半小时按半小时计,所以按1个算,收7元。教师追问:程序里10/30得了0.333,怎么让0.333变成1?学生可能提出"加1再取整"的不完整方案,教师用70分钟和90分钟两组数据对比演示,证明简单加1会多收钱,正确做法有两种:使用math模块的ceil函数,或用整除技巧(t−60+29)//30。两种写法都板书展示,并说明下机时任选其一,鼓励学有余力的学生两种都试。设计意图:难点前置、单独突破。向上取整是本课唯一超出分支结构本身的知识增量,放在写代码前集中解决,避免学生在编程环节被数学问题绊住而冲淡主线。流程图作为自然语言与代码之间的桥梁不可省略,这直接对应课标"能用流程图描述算法"的要求。环节三:从流程图到代码(约14分钟)教师提出:流程图右侧的三个分支,在Python里由哪个语句承担?学生翻书或凭预习说出if。教师逐行搭建代码骨架,边输入边提问:t=int(input("请输入停车时长(分钟):"))ift<=30:f=0elift<=60:f=5else:unit=(t60+29)//30f=5+2unitiff>60:f=60print("应缴停车费:",f,"元")每写到一个关键处停下来提问。写完第一行if后问:冒号能不能省?缩进起什么作用?让学生故意删掉冒号运行一次,观察报错信息"SyntaxError:invalidsyntax",再恢复。讲到elif时,教师演示把它改成第二个if会发生什么:程序在t=20时先执行f=0,又进入第二个判断,虽然本题碰巧结果不变,但逻辑上已经互相独立,教师用"elif保证多个条件互斥,只走一条路"一句话概括,并用"过安检只有一个出口"作类比。讲到封顶处理时,让学生看这段代码结构——在else分支内部又嵌套了一个if,教师指明这叫分支的嵌套,注意第二层的缩进比第一层更深一级。学生任务下发:在自己的电脑上输入并运行该程序,依次输入测试数据并记录输出,填在导学单表格中:输入15,期望0;输入30,期望0;输入31,期望5;输入60,期望5;输入70,期望7;输入200,期望15;输入1500,期望60。教师强调表格中的31和70是特意选的:31检验"30分钟免费"边界是否写错(写成t<30就会把31判进免费段),70检验向上取整是否生效。学生上机实践,教师巡视,对共性问题通过广播集中讲解。巡视中预计高频出现的错误有三类:条件写成t=<30的语序错误;unit计算忘了加括号导致运算优先级出错;input后忘记int转换导致比较时类型报错。教师不直接给答案,而是反问:"报错信息第几行?那行在比较谁和谁?类型对吗?"引导学生自己看提示。设计意图:代码由教师搭骨架、学生补运行,保证大部分学生在有限课时内见到成功结果,建立信心。测试数据表是本环节的灵魂,把"边界值测试"这一软件工程思想以可操作的方式落到高一课堂,回应了教学目标中计算思维的要求。环节四:找茬游戏——调试半成品程序(约8分钟)教师广播展示parking半成品.py,其中埋了两处错误:第一处,把t<=30误写为t<30;第二处,unit写成了(t60)//30,即直接向下取整。学生两人一组,任务是利用环节三那张测试数据表找出程序在哪一组数据上露馅,改正后保存为"组别+名字.py"提交。找第一处错误需要输入t=30,期望0却输出5;找第二处需要输入t=70,期望7却输出5——因为60//30等于2减折扣后……教师提示学生用"哪一组数据先出问题"来定位出错的代码行,因为程序出错顺序与测试数据的覆盖顺序相关。修改完成后,教师请速度快的小组说明定位思路,学生往往会说"试到70分钟那组不对,问题就是超出部分的计算",教师肯定这种"用测试反推故障点"的策略正是软件测试的基本功。设计意图:调试能力无法靠听讲获得,必须让学生在别人的错误和报错信息中摸爬。两处错误分别对应逻辑边界和取整方式,恰好覆盖本课两处认知难点,起到"以错固学"的作用。环节五:拓展挑战与课堂小结(约5分钟)对学有余力的学生,布置分层拓展题:回想环节一里"30分钟内免费"曾被真实车库放在价目表最前面,我们的程序里还有一类现实需求未处理——包月车辆直接放行,费用为0且不走任何计费逻辑。请思考:程序该如何获取"是否包月车"这一信息?在代码结构上,这个判断应该放在最前面还是最后面?学生讨论后得出:应在程序开头增加一个input询问,若回答"是"则直接输出0并结束,核心计费逻辑可以放入else中或者用提前判断包裹——这实际上为下一课时的循环结构与程序结构优化留下了接口。小结部分不采用教师罗列知识点的方式,而是请学生完成三句话填空:"今天我用____结构解决了____问题;写条件时最容易错的是____;我测试程序用的方法是____。"教师随机收三份导学单投影点评,最后用一句话收束:停车场的抬杆只有一秒钟,背后是我们写的几十行判断;程序算对每一分钱,是写程序的人对每一位车主的责任。设计意图:拓展题衔接真实需求与后续课时,分层设计照顾差异;三句话填空式小结把回顾的主动权交给学生,并自然渗透信息社会责任目标。六、板书设计主板书分三栏。左栏:规则分段——t≤30收0;30<t≤60收5;t>60收5+2×⌈(t−60)/30⌉,封顶60。中栏:if/elif/else代码骨架,用彩色粉笔标出冒号与缩进层级。右栏:测试数据表——30、31、60、70、1500五个边界值及其期望输出,旁注"向上取整两种写法:math.ceil或+29再整除"。七、作业设计基础题:某快递柜收费规则为12小时内免费,之后每12小时收1元,不足12小时按12小时计,上不封顶。仿照本课程序编写计费代码,并自行设计至少四组测试数据。提高题:上网或到家附近停车场调查一种"分时段差异化收费"的规则(如白天与夜间不同价),尝试为其编写计费程序的流程图,程序实现可留待选做。八、教学评价设计课堂评价采用三维记录:导学单上的规则计算与流程图完成度(书面证据)、上机时程序能否通过全部七组测试数据(结果证据)、找茬环节中小组对错误定位的口头陈述(过程证据)。课后教师依据三项为每位学生标注A(三种证据均达标)、B(两项达标)、C(需个别辅导)三档,对C档学生利用下一节自习课进行五分钟的单独过关。九、教学反思预设本课最大的风险在于时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 室内设计技术服务合同
- 2026年涞源县医疗事业单位人员招聘考试备考题库及答案解析
- 2026年镇坪县医疗事业单位人员招聘笔试模拟试题及答案解析
- 2026年那坡县医疗事业单位人员招聘笔试备考试题及答案解析
- 2026年建水县医疗事业单位人员招聘笔试备考试题及答案解析
- 203夏季短期租用私家车位合同范本二篇
- 2026年武功县医疗事业单位人员招聘考试备考题库及答案解析
- 2026年南昌县医疗事业单位人员招聘考试备考题库及答案解析
- 2026年石柱土家族自治县医疗事业单位人员招聘笔试参考题库及答案解析
- 2026年永平县中小学幼儿园教师招聘笔试模拟试题及答案解析
- 发展对象公示情况报告单
- 新建铁路段站前工程架子队管理办法
- 中药湿热敷技术评分标准
- 征兵体检培训试题及答案
- 英语句子成分及五种简单句PPT
- GB/T 880-2008无头销轴
- GB/T 8685-2008纺织品维护标签规范符号法
- GB/T 6682-2008分析实验室用水规格和试验方法
- GB/T 15065-2009电线电缆用黑色聚乙烯塑料
- 农业生物环境工程第 温室设施环境调节与控制1
- 化学品安全技术说明书MSDS(液氨)
评论
0/150
提交评论