资源简介 汉诺塔(二)(跟我来挑战Follow me:)第一步:启动 scratch 软件;第二步:点击上方的“文件” → “保存” →保存到桌面,文件名:汉诺塔 → 点击“保存”;(第二步很很很重要,我希望所有的学生都能养成及时保存作品的好习惯!)第三步: 确定背景第四步:确定角色(全部手绘完成,ABC 柱等大小,1-yellow 柱最大,5-red 最 小 )第五步: 脚本讲解=2,3,4,5号盘子的脚本请同学自己尝试编写完毕吧!(程序运行结果:)我输入了4,继续(课后思考:)(1) 将2,3,4,5,号盘子的脚本编写完整并能成功运行!(2) 想 一 想,6,7,8,9甚至更多盘子的时候,程序是否需要改变 有过需要改变你知道如 果改变么 代码背最4,声音造型route66route6680x3刃填充复制粘贴删除2you win8知x3知TROUTEU S66一代码。背最,声音造里you winroute6680x3可填充复制粘贴删除2nyou win8知x3知T7You win!名字舞台角色显示0大小方向背系2A柱B柱C柱1-yellowu p.…2-purple p.…3-blue plate4green pl...5-red plate当被点击换成route66背景删除A柱ist的第all项删除日柱ist的第all项删除C柱ist的第all项将柱子上已有盘子个数设为0将盘子移动次数·设为0重执行直到回答将三个表上次执行程序球.用主场景×询问请输入盘子个数〔35并等待更执行回答次盘子移动次数清季将柱子上已有盘子个数增勘加回答必须介于35,我].×在4柱ist的第last项前插入柱子上已有盘子个数如果回答3那么广描显示4号盘子·如果回答▲所有圆盘是以12,3…×主上就会有广显示号盘子核心算法回答a开始只显示3个國盘〔1×换成you win!背景汉诺塔(一)(今日任务:)今天, 我们将以小时候大家都玩儿过的汉诺塔游戏作为原型, 用 scratch 编程实现它, 汉诺塔游戏的规则是这样的:在 A 柱上有 N 个圆盘, 从下到上分别按由大到小排列,借助中间的 B 柱,将 A 柱上的 圆盘按照一开始的叠放顺序全部移动到 C 柱,移动过程中无论各圆盘位于哪根柱上,都必须 遵循上小下大的摆放规则。那么我们接下来分别看看有 1、2、3 个圆盘时的移动情形,看看 你能不能从中找到些规律出来!只有一个圆盘时的情形:A 柱 B 柱 C 柱一步就可以移动过来:A 柱B 柱C 柱只有二个圆盘时的情形:A 柱B 柱C 柱第一步:A 柱B 柱C 柱第二步:A 柱B 柱C 柱第三步:A 柱 B 柱 C 柱只有三个圆盘时的情形:A 柱B 柱C 柱第一步:A 柱B 柱C 柱第二步:A 柱B 柱C 柱第三步:A 柱B 柱C 柱第四步:A 柱B 柱C 柱第五步:A 柱B 柱C 柱第六步:A 柱B 柱C 柱第六步:A 柱B 柱C 柱我们似乎可以从这样儿的移动中找到某些规律移动时,盘子其实都遵循着这样儿的规律:无论是移动多少个圆盘,都可以看做是现将 A 柱上除最大的圆盘以外的所有圆盘移到 B 柱,然后, 移动 A 柱上最大的圆盘到 C 柱, 最后再将 B 柱上的所有圆盘移动到 C 柱上,结 束。比如三个圆盘时:(B柱) (C柱)A 柱(B柱) (C柱)A 柱(B柱) (C柱)A 柱(B柱) (C柱)A 柱核心算法简述:Step1:如果盘子数=1,那么直接执行第 2 步,否则执行第 3 步Step2:盘子从 A 柱直接移动到 C 柱,执行第 6 步Step3:核心算法(可传递参数)执行: A 柱是起点柱, B 柱作为终点柱,C 柱作为中转柱 ①Step4:执行:将盘子从起点柱移动到终点柱 ②Step5:核心算法(可传递参数)执行: B 柱作为起点柱, C 柱作为终点柱, A 柱作为中转柱 ③(A柱变起点柱,B柱变终点柱,C柱变中转柱) (B柱变起点柱,C柱变终点柱,A柱变中转柱) (N) (结束)(本课重难点:)(1)通过汉诺塔的操作演示可以理解推导出的递归算法即本程序的核心算法。(2)能够正确理解本程序的编写思路, 今后遇到同样的问题可以按照本程序所发现的规律 去解决问题。(任务解读(Flowchart):)开始输入盘子个数(3~5)(盘子个数=1?)Y盘子从 A 柱(起点柱)直接 移动到 C 柱(终点柱) 展开更多...... 收起↑ 资源列表 汉诺塔(一).docx 汉诺塔(二).docx