第4课 西街小店优惠

45分钟 · 14页课件配套 · 每页含讲述、提问、答案与巡视重点。教师参考应在学生独立作答后使用。保持课程包目录完整,离线活动链接才可直接打开。

第04课 · 教师逐页讲稿

第01页 西街小店优惠

建议用时 1 分钟

讲述与活动

教师开场:一家模拟文创体验小店希望程序根据年龄自动选票价。先让学生说说生活中按条件做决定的例子,再说明本课处理的是明确、已给定的规则。所有价格与年龄档位均为课堂设定,不代表实际商家政策。今天要学会把范围写清楚、把程序读清楚,并专门检查分界值。
课堂安排:共45分钟。教师精讲,学生在本课离线网页独立操作。课前打开包内本课HTML,无需班级座号登录和联网,提前完成本机Python初始化。绿色下划线文字为对应课程的可点击入口。
本套课件承接第1课,所有插画只作教学情境示意。封面背景使用生成式插画。

提问

程序怎样按年龄决定票价?

参考答案

执行明确给定的规则,先划分范围,再比较条件,最后核对边界。价格都是模拟设定。

巡视重点

不把人为分支规则说成大模型或机器猜测。

第04课 · 教师逐页讲稿

第02页 优惠规则与验证目标

建议用时 2 分钟

讲述与活动

教师提出三条目标:能把规则画成互不重叠的年龄段;能逐行说明程序选择了哪个分支;能用边界数据发现比较符号的错误。学生最后应提交网页原问题的四组记录,并写一组为什么进入该分支。不要只用远离边界的年龄验证,几个看似正确的结果可能掩盖边界错误。

提问

为什么只测试8岁和30岁不够?

参考答案

这两组远离边界,可能发现不了12岁、18岁的等号归属错误;应测试分界前与分界点。

巡视重点

区间是否互不重叠且覆盖约定范围,结果是否包含分支解释。

第04课 · 教师逐页讲稿

第03页 优惠规则中的年龄区间

建议用时 3 分钟

讲述与活动

本页专用另一套课堂规则,避免提前给出网页测验答案:未满10岁12元,10至未满16岁22元,16岁及以上32元。请学生在数轴上标出10和16的位置,说明分界值属于右侧区间。提问年龄15与16相差1,为什么可能改变票价?预期回答是跨过规则边界;程序只能执行规则,不能自己猜商家本意。

提问

教师例题的10岁和16岁分别属于哪档?

参考答案

10岁属22元档,16岁属32元档。本页阈值10/16、价格12/22/32与学生主例12/18、15/25/35分开记录。

巡视重点

让学生在数轴上标出边界,明确这里是平行教师示例。

第04课 · 教师逐页讲稿

第04页 <与<=的边界差异

建议用时 3 分钟

讲述与活动

教师用10作为比较值,先让学生判断9、10、11是否满足条件,再解释小于与小于等于的差异。右侧提醒“及以上”包含等于。顺便指出Python判断相等要用双等号,单等号是赋值;本课不增加复杂逻辑表达式,只要求正确读写这些比较。巡视时让学生把符号读成完整中文,发现把“小于”读成“不大于”就及时纠正。

提问

10满足age<10、age<=10、age>=10中的哪些?

参考答案

不满足<10,满足<=10和>=10。判断相等用==,赋值用=。

巡视重点

将符号读成完整中文,纠正把“小于”读成“不大于”。

第04课 · 教师逐页讲稿

第05页 第一个满足的分支

建议用时 3 分钟

讲述与活动

教师以输入10逐行追踪:第一个条件不成立,继续判断第二个,成立后保存22;不再执行else。然后强调elif的上下文:能来到这里说明已经排除小于10,因此只写小于16就覆盖中间档。print与if对齐,表示选择结束后统一输出。暂不让学生同时修改年龄阈值和价格,先读懂结构再迁移。

提问

教师例题输入10,为什么elif只写age<16就够?

参考答案

第一条件10<10为假,已排除小于10;10<16为真,price=22,不再执行else。

巡视重点

print与if对齐;先读结构,不同时改阈值和价格。

第04课 · 教师逐页讲稿

第06页 分支选择的执行过程

建议用时 3 分钟

讲述与活动

教师让学生两人一组,一人扮演条件判断,一人记录价格。请注意表中“跳过”不是判断为假:当第一条已为真,后面的elif根本不会继续判断。以9和15说明两个路径,再让学生独立追踪16。核验记录应同时保留输入、所选分支与输出价格,避免只看最后的数字而不了解选择过程。

提问

9岁进入第一个分支后,elif是判断为假还是跳过?

参考答案

跳过,没有继续判断。9/10/15/16在教师例题中依次为12/22/22/32元。

巡视重点

记录输入、分支和结果;区别“没有执行”和“执行结果为假”。

第04课 · 教师逐页讲稿

第07页 冒号与缩进

建议用时 2 分钟

讲述与活动

本页用预算例子观察结构,left设为0。提问两行输出分别属于哪里,预期只出现“够用”和“核对完成”。if、else后都需要英文冒号;缩进的print属于对应分支,最后一行不缩进所以无论哪条路径都会执行。建议统一四个空格,出错先看行号、冒号与对齐;代码有颜色不代表语法一定正确。

提问

left=0时,会输出哪两行?

参考答案

输出“够用”和“核对完成”。最后一行在分支外,始终执行。

巡视重点

冒号、4个空格、print的层级;刚好用完归够用。

第04课 · 教师逐页讲稿

第08页 5个小步

建议用时 8 分钟

讲述与活动

学生打开第4课学习页,完成比较边界、条件运算符、分支顺序、冒号修补、边界修复五小步。前3步3分钟、后2步5分钟。巡视时要求先把年龄代入条件,再说真假与所执行语句。注意第5小步的简化两档程序只检验一个指定边界,不代表它已覆盖原问题的全部三档;完成后必须回到原生活问题。

提问

第5小步修好12岁后,能否宣称三档都正确?

参考答案

不能。本步只检验12岁边界的简化两档代码,还需回主任务核对18岁。

巡视重点

先代入条件说真假,再修语法;避免简化任务替代完整任务。

教师参考

分界值要看清:False
解释:12不小于12,结果为False,不能放进未满12岁的档位。
把未满写成条件:<
解释:age < 12正好表达未满12岁;<不把等于12的情况算进去。
按顺序选一档:成人档
解释:两条条件都不成立,执行else,因此18岁进入成人档。
条件后补冒号:age = 11
if age < 12:
print(15)
预期输出:15
解释:冒号标明条件之后的缩进部分是分支;11 < 12成立,所以输出15。
修好12岁边界:age = 12
if age < 12:
print(15)
else:
print(25)
预期输出:25
解释:改为<后,12 < 12不成立,执行else,在本题12岁这组数据上输出25。
第04课 · 教师逐页讲稿

第09页 按网页规则计算优惠价

建议用时 8 分钟

讲述与活动

先读学生主任务的三档模拟规则,保留age、price变量名。11、12、17、18岁分别运行,记录分支与票价,完成原规则程序检测。原规则中间档为25元。之后才做20元变式,并进入“验证实验”切换20元方案逐组核对;回本课原任务检测前恢复25元。自动检测核对当前输入、公开用例中的变量与数字输出,通过只表明公开样例正确。 程序检测同时核对结果变量和数字输出;按示例顺序输出票价。可修改标签、添加说明或额外数据,仍须保留这些目标结果的输出与先后顺序。

提问

主任务11、12、17、18岁的价格分别是什么?

参考答案

原规则依次15、25、25、35元,分支为if、elif、elif、else。先通过此版本检测,再做20元变式。

巡视重点

保留age、price与输出票价;标清原规则与变式,不用原25元测试判20元变式错误。

第04课 · 教师逐页讲稿

第10页 多个if可能重复赋值

建议用时 2 分钟

讲述与活动

教师描述反例:若先用独立if判断age小于10,把price设12;再用另一个独立if判断age小于16,把price设22,那么年龄9满足两条,第二次赋值覆盖第一次。与if/elif不同,后者选中后不再选后续分支。先让学生口头追踪,再强调不是说多个if永远错误,而是本课互斥三档更适合一条选择链。

提问

两个独立if与if/elif链在9岁时可能有何差别?

参考答案

独立if可能先赋12再赋22,后值覆盖前值;if/elif一旦选中第一档便不再选后续档。

巡视重点

多if并非永远错误,关键是是否符合互斥价格规则。

第04课 · 教师逐页讲稿

第11页 边界年龄的测试

建议用时 2 分钟

讲述与活动

让学生围绕教师例题10和16两个分界,分别补上前一个值、分界值、后一个值。预期第一组9、10、11,第二组15、16、17;这些能检查等号归属是否一致。引导学生回到网页自己的边界记录,说明为什么某组比随机年龄更容易找错。年龄为非负整数是输入前提,负年龄不在今天的规则内,不要求额外设计异常处理。

提问

教师例题10与16的边界各选哪三组?

参考答案

9、10、11和15、16、17。主任务对应可选11、12、13和17、18、19。

巡视重点

把教师示例和学生主例分开;非负整数是输入前提。

第04课 · 教师逐页讲稿

第12页 迁移:优惠规则改变后

建议用时 2 分钟

讲述与活动

核心任务完成后任选改价或预算迁移。改价:先保留25元原版,再把中间档改成20元,写出11、12、17、18岁的新预期15、20、20、35。打开验证实验的第4课,选择20元方案核对;不要拿原25元检测要求评判20元变式。预算迁移:left<0输出不足,否则够用,必须测left=0。拓展者可用if和余数改写第2课车数。

提问

中间档由25元改20元后,四组预期怎样变?

参考答案

11/12/17/18岁依次15/20/20/35元。到验证实验切换20元方案核对,再返回主任务时恢复25元。

巡视重点

先保留原版,通过新规则的预期核对变式;预算迁移要测试left=0。

第04课 · 教师逐页讲稿

第13页 知识检测与自评

建议用时 4 分钟

讲述与活动

安排2分钟独立完成网页测一测,2分钟整理四组原规则记录和自评。不给测验原题答案,让学生用自己的追踪表核验判断。自评要求能说出每条条件排除了哪些年龄,能指出冒号及缩进的作用。教师收集一个仍有疑问的边界,在课后反馈;已做改价迁移的学生要标清版本,避免把20元迁移结果当作25元原规则证据。

提问

提交的边界记录怎样防止版本混淆?

参考答案

主任务提交15/25/25/35的四组原规则记录,20元变式另标版本,并解释一组进入的分支。

巡视重点

检查条件、冒号、缩进和自评依据;导出学习记录,核心任务完成后再扩展。

教师参考

知识题1:else,35元。18不小于12,也不小于18,所以执行else,票价为35元。
知识题2:60。60分应及格,但60>60为False,因此这个边界会被错误判为未及格。
知识题3:12岁。原来12岁进入25元档;修改后12<=12成立,会进入15元档。
第04课 · 教师逐页讲稿

第14页 规则、条件与分支

建议用时 2 分钟

讲述与活动

请学生总结规则翻译的三个步骤:先列范围,再写有顺序的条件,最后测试边界。强调if执行人为明确给定的规则,不是猜测意图,也不能称作大模型。收尾让学生用一个边界例子说明自己的证据为何可信,而不是只说程序通过。预告下节会遇到同时满足两种要求的活动报名,单条条件将扩展成条件组合。

提问

规则变化后,为何测试的预期也要变化?

参考答案

程序应满足当前规则。改价后保持旧25元预期会误判,需同步更新目标再测试。

巡视重点

总结范围、分支和边界证据,能解释结果比只报通过更有用。