按“第d天阅读d页”的模拟计划累计阅读量。逐轮追踪total,解释初始化与循环更新,再区分累加与累乘的初值。
□ 能把累计量total在循环前初始化为0。
□ 能解释total = total + day并核对3、7、10、0天。
□ 能用逐轮表定位把初始化写进循环的错误。
输入约定 天数为非负整数;第day天读day页是本课模拟规则。
纸面S题与网页小步练习可择一完成,另一套用于课后复核。
L7-S1 要从0页开始累计,total的初值应为多少?
L7-S2 旧total = 1,day = 2,执行total = total + day后是多少?
L7-S3 若只累计偶数天,day % 2 == ___应填什么?
L7-S4 total = 0,循环day为1、2、3。更新行补成total = ___,累计当天页数。
L7-S5 循环day为1至4,只在day % 2 == 0时执行total = total + ___。最终几页?
学习方法 先写预测,再运行核对。结果不一致时,保留原预测并写明修改原因。
按下面四步完成同一个程序。表中各组输入使用同一套计算规则。
预测:先填写表中关键结果;对长时间模型可写估计并注明“估计”。
修改:补全空白,保留主任务变量名和输出语句;每组只改数据区。
运行:逐组运行并对照预测;记录一处修改及其原因。
解释:用关键语句说明结果。迁移题另存程序、按新规则验收。
days = 7
total = ___
for day in range(1, days + 1):
total = ___ + day
print("第", day, "天累计", total, "页")
print("总阅读量", total, "页")| days 天 | 预测 total 页 | 运行 total 页 | 累计过程证据 |
|---|---|---|---|
| 3天 | |||
| 7天 | |||
| 10天 | |||
| 0天 |
我的解释 用3天写出total的0→___→___→___变化。为什么total = 0要放在循环之前?
修改记录 我改了哪一行?原来的问题是什么?用哪组数据证明已改对?
同桌核对 □ 数据符合范围 □ 已运行全部测试 □ 结果带单位 □ 能解释一条语句
基础题与离堂题必做。应用题有余力选一或课后完成;挑战题留作课后。离堂题独立完成。
L7-A1 基础 逐轮写出第1、2、3天结束后的total;当天页数与累计页数相同吗?
L7-A2 基础 若把total = 0放在循环体最前,days = 7最后会得到多少?解释。
L7-B1 应用 改为连续5天,每天固定读2页。另存程序,写累计更新行及结果。
L7-B2 应用 只累计1至7中偶数天的页数。先列出相加的数,再写if与累计语句。
L7-C1 挑战 计算1×2×3×4×5。累乘的初值该用0还是1?写出更新行和结果。
L7-C2 挑战 用0、1、10天设计初始化和循环边界测试,写出各自预期,并说明每组能检查什么。
L7-E1 独立完成:把1、2、3累加到total中,初值0和10各得到多少?写出每轮更新行,并解释两者为什么不同。
学习状态 □ 我能独立完成 □ 我需提示 □ 我还要练习
我最需要再练的一点________________________________________________