← 首页
00:00点开始
学情 用时 0′ 尝试 0 出错 0 归因 0
B 结构期 · 第三课
转圈的时候,步子越来越大

前两课:先学会"要不要做",再学会"二选一"。
今天把如果塞进重复里面 —— 一边转圈,一边数着数,路线越转越宽。

开场 9 分钟怎么花: 回扣"if/else 互斥"(3′)→ 抛"循环里能不能放如果"(3′)→ 发手帖 + 预告作品《绕圈巡逻》(3′)。
老师说 上节课的如果,只走一次。
今天让海龟转六圈,每转一圈都问一句"这一圈该怎么拐"—— 如果住在重复里面,就会被执行六次。
第十八种陷阱:缩进少一层。 把 if 写在 for 的下一行,但没有缩进—— 它就不在循环里面,只会在循环结束后走一次。

第一步 · 两层缩进的陷阱 09′–23′ · 14 分钟 · 它到底在里面还是外面

陷阱换了(第十八种)
写在 for 下面 ≠ 在 for 里面
老师说 这段代码里,if 缩进了一层,它在循环里面。
先猜:把 if 那行的缩进删掉,海龟会拐几次?猜完运行验证。

注意两个缩进层:for 里面一层, if 里面再进一层。想把 if 关在循环外面, 只要把它那行退回到和 for 平级。

老师纪律:学生说"我明明写在 for 下面"时不纠正,只问: 「它比 for 往右挪了吗?没挪就是平级,平级就不归循环管。」

第二步 · 内存具象化 23′–37′ · 14 分钟 · 里面的里面,和会变的数

老师说 今天有两样新东西,但它们住在同一段代码里:
① 里面的里面——for 一层、if 再一层;
② 会变的数——n 每转一圈就长大一点。
位置 · 横
0
位置 · 纵
0
朝向
0°
为什么线越来越长? n = n + 12 每转一圈执行一次:
第 1 圈 n=12 → 第 2 圈 n=24 → … → 第 6 圈 n=72。
不是我们改了六次,是这一行被循环执行了六次。
看缩进数层数:1 层在循环里,2 层在如果里。 数错一层,代码就跑到别的地方去了。
这一步的关键动作:让学生用手指沿左边缘往下划, 数每一行在第几层。数得出层数,嵌套就不会错。
37′–47′ · 10 分钟该休息啦
休息 1 · 必须离开座位站起来动一动

喝水 / 上厕所 / 不许看屏幕。

本课尤其要离屏。 两层缩进 + 会变的数,是本阶段认知负荷最高的一课;不看屏幕的十分钟比再看一遍代码有用。

第三步 · 人肉电脑 47′–65′ · 18 分钟 · 不许按运行

老师说 不许按运行。六圈,一圈一行:这一圈 n 是多少?往哪边拐?
填完再运行对答案——这次的表就是"变量追踪表"。
为什么坚持手推:变量的值随循环变化, 只有手推一次才知道它到底怎么变。看运行结果只能看到最终图形,看不到中间过程。

第四步 · 自己搭 65′–85′ · 20 分钟 · 画出你的巡逻路线

老师说 要求三条:for 里放 if、有一个会变的数、拐的方向前后不一样。
圈数、步长、门槛都可以改——做出别人猜不出规则的图形。
巡场只问三句:每一行在第几层? 这个数每圈变成多少?把门槛从 2 改成 4 会变成什么样?
85′–91′ · 6 分钟该休息啦
休息 2 · 离屏伸个懒腰

喝口水,回来开始搞破坏。

第五步 · 改数试试 91′–105′ · 14 分钟 · 把两件事拆开看

老师说 三个实验,每做一个先猜结果:
① 把 n = n + 12 换成 n = 30(不再变)→ 线还会越来越长吗?
② 把 if i > 2 的门槛改成 > 5 → 弯怎么变?
③ 把 if 整块退出循环(退到和 for 平级)→ 拐几次?
位置 · 横
0
位置 · 纵
0
朝向
0°
实验结论要落到两句话: ① n = n + 12 在循环里,所以它变了六次——这叫变量追踪。
② if 缩进一层才在循环里;退出循环它只走一次——这叫嵌套的层级。

第六步 · 读码迁移 105′–120′ · 15 分钟 · 读出它转几圈、数怎么变

老师说 GESP 一级的题会这样考:给一段含循环和判断的代码,问它做了什么。
今天最后一次:不运行,读一段没见过的代码,说出圈数、每圈的数和拐法。
读码四步:① 圈数 → ② 这行在不在循环里(数缩进层)→ ③ 那个数每圈变成多少 → ④ 条件成立的那几圈走哪块。不要跳步。

收尾(含在 15′ 内)

  • 填手帖:本课三问——哪一行在第几层 / 这个数每圈变成多少 / 哪几圈走了另一条路
  • 家庭挑战:把《绕圈巡逻》讲给爸妈听,说出把门槛改成 4 会变成什么样
  • 预告(只说作品,不说知识点):下一课海龟要数出"一共满足了几次"

家长话术

今天是 B 期认知负荷最高的一课(两层缩进 + 会变的数),跟不上是正常的。
场景照着说
家长问"今天学了啥" 「学了两件事:一是缩进能叠层'里面的里面',二是让一个数随着循环自己长大。 他今天手推过六圈的表,每一步都知道数是多少。」
家长问"孩子说太难" 「这一课确实是本阶段最难的。他只要能说出'哪一行在循环里'就够了, 剩下的会在这学期反复用到、自然熟。」
⚠️ 不要说:「这就是双重循环」——本课没有两层循环, 是"循环里放判断"。说错了会让孩子把两个概念糊在一起。

海龟的画布

(摆好卡片,按运行)

对应的 Python 代码 实时同步

本课硬事实 老师自查