第12课 泉州一中汉诺塔擂台

45分钟 · 14页课件配套 · 先完成小步、主任务与独立测验,迁移拓展选做。每页含讲述、提问、答案与巡视重点。教师参考在学生独立作答后使用。

第12课 · 教师逐页讲稿

第01页 泉州一中汉诺塔擂台

建议用时 1 分钟

讲述与活动

请学生打开第12课并准备三张大小不同的纸盘,桌面标出A、B、C三根柱子。说明这是课堂设定的算法挑战,基础目标是合法搬完3盘并核对步数;进阶目标是解释任务分解。函数与递归属于选学,本课用已学循环就能算最少步数。先做小盘数,不要求生成大盘数的全部移动。
课堂安排:共45分钟。教师精讲,学生在离线网页独立操作。课前打开包内本课HTML,无需班级座号登录或联网,等待内嵌Python完成本机初始化。绿色下划线文字为对应课程的可点击入口。
本套课件承接第1课,所有插画只作教学情境示意。封面背景使用生成式插画。 45分钟优先完成小步、主问题和独立测验;迁移与递归、复杂保护等拓展可课后完成。绿色链接指向包内课程,保持目录完整。

提问

本课必做需要递归吗?

参考答案

不需要。必做是3盘合法操作、用循环核对最少步数,并区分步数与移动序列;递归为选学。

巡视重点

先备纸盘与A/B/C位置,按基础和进阶分层。

第12课 · 教师逐页讲稿

第02页 汉诺塔的规则与目标

建议用时 3 分钟

讲述与活动

教师用实物演示一次合法和一次不合法的尝试:小盘移到空柱或更大盘上合法,抽底盘或大盘压小盘不合法。请学生用规则说明原因,暂不讨论最快步数。把盘按从小到大标为1、2、3号,后续序列用此编号。强调所谓最少步数是在始终遵守这些规则、使用三根柱子的前提下讨论。

提问

怎样判断一次移动是否合法?

参考答案

只能取当前柱顶的一盘,放到空柱或比它大的盘上;不能抽底盘或大盘压小盘。

巡视重点

每次移动后检查三柱状态。

第12课 · 教师逐页讲稿

第03页 3盘的合法移动序列

建议用时 3 分钟

讲述与活动

教师用实物按表格从上到下演示,学生逐步核查是否取的是柱顶盘、目标柱是否允许放入。1号最小,3号最大。第1至3步先将上面两盘从A搬到B;第4步将最大的3号盘从A搬到C;第5至7步再将两盘从B搬到C。请学生指出第3步后A上只剩大盘、C空着,这正是第4步合法的原因。最后确认三个盘在C上仍按大小排列。

提问

3盘序列第4步为什么可以移动大盘?

参考答案

前3步已把小塔移到B,A仅剩3号盘,C为空,所以3号盘可从A到C。

巡视重点

对照七步记录,核对盘号、起点与终点。

第12课 · 教师逐页讲稿

第04页 n盘任务的三个阶段

建议用时 3 分钟

讲述与活动

请学生将三阶段与刚才3盘的7步记录对应。要把最大盘从A移到C,上面的小盘必须先移开,且C不能有比它小的盘,因此小塔先集中到B。随后搬大盘,再将小塔搬到C。每段小塔任务采用最少步数时,整套流程也达到下界,由此得到两倍上一项再加一,而不是仅凭1、3、7猜规律。

提问

为什么需要两次n−1小塔任务?

参考答案

先移开上方小盘腾出最大盘,再移动最大盘,最后把小塔移到目标柱。

巡视重点

三柱规则下说明所需下界与可达到方案,不仅猜数字。

第12课 · 教师逐页讲稿

第05页 最少步数的递推

建议用时 3 分钟

讲述与活动

从0盘0步说明初值含义,再逐行计算。让学生用手指指出每个式子的两个旧步数对应哪两段小塔移动,中间的1对应哪一次大盘移动。不要只让学生快速报出下一项。核对3盘的7步时,将表格与合法操作序列连接:一方面有可达到的7步方案,另一方面三阶段给出所需下界。

提问

4盘最少多少步?

参考答案

2×7+1=15;两个7对应两次3盘小塔,中间1对应最大盘。

巡视重点

从0盘0步起,解释每一项含义。

第12课 · 教师逐页讲稿

第06页 用循环计算最少步数

建议用时 3 分钟

讲述与活动

把循环每一轮与上一页的一行对应。disk是当前正在推算的盘数,steps是该盘数的最少步数。解释range包含1至n,n+1不会作为盘数被计算。最后的2**n-1是核对最少步数的公式;区分一个星号的乘法与两个星号的幂。指出本程序输出总次数,还没有输出盘子具体从哪根柱子搬到哪根柱子。

提问

n=4代码输出哪些关键数?

参考答案

逐行(1,1)、(2,3)、(3,7)、(4,15),最后公式核对15。

巡视重点

disk是当前推算盘数,steps为最少次数,**是幂。

第12课 · 教师逐页讲稿

第07页 5个小步

建议用时 8 分钟

讲述与活动

请学生在离线网页第12课“学一学”顺序完成五个小步。巡视中优先让学生指着纸盘解释规则,避免只凭数字规律选答案。代码题卡住时,让他把0、1、3等已知状态逐轮写在纸上,再补表达式。强调循环是计算最少次数的工具,递归不是本课必过要求;较快者可协助检查同桌的纸盘移动是否合法。

提问

小步最后一题三轮怎样更新?

参考答案

steps从0开始,依次为1、3、7。每轮2*steps+1,结果是次数而非完整操作序列。

巡视重点

先用纸盘理解,递归不是过关条件。

教师参考

算法擂台先守规则:把最上面的小盘放到大盘上
解释:把最上面的小盘放到大盘上合法。规则是每次移最上面的一个盘,大盘不能压在小盘上。
大盘还要搬一步:1
解释:3 + 1 + 3 = 7。式子2 * 3 + 1里的1来自移动最大盘。
步数不等于方案:最少步数,尚未给出每一步移动方案
解释:它给出最少步数,没有给出每一步的移动方案;完整移动序列留在原课程选学。
从一盘推到两盘:steps = 1
steps = 2 * steps + 1
print(steps)

预期输出:3
解释:2 * 1 + 1 = 3,分别是移开小盘、搬大盘、再搬回小盘。
循环推到三盘:steps = 0
for disk in range(3):
steps = 2 * steps + 1
print(steps)

预期输出:7
解释:循环3次,steps依次为1、3、7,所以3盘最少7步。这是步数计算,无需递归。
第12课 · 教师逐页讲稿

第08页 最少步数与移动序列

建议用时 3 分钟

讲述与活动

请学生看自己刚运行的输出,逐项检查是否包含盘号、起点、终点。如果只有盘数和最少步数,就不能称为完整搬盘方案。追问算出64盘步数是否等于真的搬完,预期明确区分计算总量和执行全部操作。递归程序可用于生成小规模序列,但属于选学;自然语言讲清三阶段同样是有效的分解解释。

提问

只有“3盘最少7步”算完整方案吗?

参考答案

不算。方案还要逐步记录哪个盘从哪柱移到哪柱,并检查合法性与最终位置。

巡视重点

准确命名两份成果:最少步数计算、合法移动记录。

第12课 · 教师逐页讲稿

第09页 实物操作与程序核对

建议用时 8 分钟

讲述与活动

学生先动手完成3盘,可打开验证实验第12课的真移动区,也可用纸盘。真移动区可拦截非法移动、撤销并导出记录。教师观察有无抽底盘或大盘压小盘,并提醒多于7步也可能合法,需继续思考能否减少。之后运行离线网页计步程序核对1、3、7,4盘15步为选做,保留检测使用的n和steps。结束时让学生分别交代操作记录与计算结果,避免混成同一种证据。 本课程包提供8组公开检验。本课固定检测核对steps,要求依次输出各轮disk与steps,最后输出2**n-1。大整数保持int精确值,不改成float。此检测验证计步程序,合法移动记录另行检查。 通过只说明公开样例符合规则,仍要解释数据与执行过程。 建议前4分钟两人一组操作记录,后4分钟运行核对。递归与64盘时间估计不列入本环节必做。 至少亲手完成一次3盘合法移动并与7步对照,这是必做要求。2盘仅作脚手架;超过7步可保留合法记录和优化反思。自动检测会用其他盘数核验同一计步规则。

提问

8分钟主活动先后怎样安排?

参考答案

前4分钟合作完成并记录3盘,后4分钟运行计步程序核对1至3盘并检测;4盘选做。多于7步可能合法,需与最少7步比较并记录反思。

巡视重点

3盘合法搬完为必做;2盘作脚手架,4盘及64盘计数为选做。

第12课 · 教师逐页讲稿

第10页 盘数与循环次数

建议用时 2 分钟

讲述与活动

让学生先预测n=0时的循环范围,预期没有取值,steps保持0。再检查1盘是否恰好一步,用最小情况抓住初值错误。指出循环执行n次是在逐项计算步数,而实际搬盘次数按结果增长,两者不能混淆。若学生说4盘只搬4次,请他回看程序每轮到底在更新数字还是在执行一个具体搬盘动作。

提问

n=0时循环几次,最少几步?

参考答案

循环0次,steps保持0,公式2**0-1也为0;n=4是算4轮而非实际只搬4步。

巡视重点

初值不能设成1,区分计算轮数与搬盘次数。

第12课 · 教师逐页讲稿

第11页 迁移:大盘数的总步数

建议用时 2 分钟

讲述与活动

迁移先用10盘核对1023步,再选看64盘的精确整数,不生成全部移动序列。若每秒移动一次、每年按365天计算,64盘约需5849.42亿年;这是按规定速度换算的数学量级。提醒Python整数可保存这个步数,除法换成年数则是近似表示。拓展重点是判断算法任务规模,不能把大数字的冲击取代三阶段解释。 此页为选做,基础未完成者继续主任务;改变算法规则的迁移另存副本,到验证实验或用手算预期核验,返回原检测前恢复主任务。

提问

64盘精确步数是多少?

参考答案

18446744073709551615步;每秒1步、365天/年约5849.42亿年。只计算总数,不生成全部移动。

巡视重点

步数用整数保存,时间换算为近似;10盘1023步先核对。

第12课 · 教师逐页讲稿

第12页 两种递推规则的区别

建议用时 1 分钟

讲述与活动

请学生口头比较前一课与本课:台阶取前两项相加,汉诺塔取上一项两倍加一。要求解释各项对应的实际任务,不只报式子。对将两种规则混用的学生,让他选一个最小例子验证。最后说明由小问题推算大问题是共同思想,但究竟保留几个旧值、怎样更新,必须由各自规则决定。

提问

汉诺塔与台阶能交换更新式吗?

参考答案

不能。汉诺塔有两次同规模小塔加一次大盘;台阶按最后一步来自两个不同规模,故前两项相加。

巡视重点

用任务结构解释公式来源。

第12课 · 教师逐页讲稿

第13页 知识检测与自评

建议用时 4 分钟

讲述与活动

给学生四分钟独立完成离线网页知识检测,教师不带读具体答案。反馈时请学生解释两次小塔和中间一步,而不是重复“乘2加1”。自评中亲手完成合法移动必须有实际操作依据,只有程序通过不能代替这一条。对未完成7步最优方案的学生先肯定其合法操作,再把减少步数留作课后挑战。 按真实表现自评;完成后导出学习记录JSON、学习报告或代码,记录仅在本机保存。

提问

测验与操作记录怎样相互支持?

参考答案

逐轮记录验证步数,七步盘号/起终点记录验证操作合法;两种证据分别保存。

巡视重点

独立作答后订正,不把会背15当作完成全部任务。

教师参考

知识题1:31步。
解释:5盘需要先搬4盘、搬大盘、再搬4盘,合计15+1+15=31步。
知识题2:7。
解释:循环3次,steps依次变成1、3、7,最终显示7。
知识题3:最少步数,尚未提供每一步的移动方案。
解释:步数只说明需要多少次移动;完整方案还须列明每一步的盘、起点和终点。
第12课 · 教师逐页讲稿

第14页 规则、分解与检验

建议用时 1 分钟

讲述与活动

用一分钟回顾从生活计算到算法挑战的共同方法:说明规则、先做小例子、运行程序、留下核对证据。学生可课后选一讲完善“怎样算、凭什么信”的校园数据说明卡,汇集两组测试及模型边界。本课不追加递归代码要求,愿意深入的学生只用3至5盘研究移动序列,并逐步核对合法性。

提问

这套课程最后要留下什么作品?

参考答案

可运行且经边界核验的计步程序、一份3盘合法操作记录,以及对三阶段与最少步数的解释。

巡视重点

真实自评并导出记录,未完成部分标出具体卡点。