青玉案元夕ppt:“汉诺塔”里有什么?

来源:百度文库 编辑:九乡新闻网 时间:2024/05/01 10:29:42

“汉诺塔”里有什么?

[日期:2004-09-10] 来源:  作者:张丽艳 南京师范大学教育技术系 [字体:大 中 小] 在进入“程序执行的基本结构”的教学之前,先让学生理解顺序、选择、循环结构的基本思想(不涉及程序的编写),为随后学习三种结构的程序实现做好准备。

 

【教学过程】

 

环节一:创设情境激发兴趣

 

虽然汉诺塔问题已流传很久,很多人都听说过,也有不少人玩过这个游戏,但毕竟有一部分人不熟悉这个游戏,而且汉诺塔游戏的设计不同,其难易程度、玩法过程以及得分也不同,鉴于此,建议教师选用设有过关剃度的汉诺塔游戏,由易到难,一步一步引导学生发现其中的规律。下面是2001万能在线开发的汉诺塔游戏界面。

 

 

师:同学们,你们玩过汉诺塔游戏吗?

生1:玩过。

生2:听过,没玩过。

生3:什么是汉诺塔游戏啊?

……

师:没关系,今天的课会让每一位学生都融入到这个游戏当中。(屏幕显示)传说在古代印度的贝拿勒斯圣庙里,安放了一块黄铜板,板上插了三根宝石柱,在其中一根宝石柱上,自上而下按由小到大的顺序串有64个金盘,要求将左边柱子上的64个金盘按照下面的规则移到右边的柱子上。

 

a)一次只能移一个盘子。

b)盘子只能在三个柱子上存放。

c)任何时候大盘不能放在小盘上面。

这就是原始的汉诺塔游戏。

 

后来开发的汉诺塔游戏有5个盘子的游戏、7个盘子的游戏、12个盘子的游戏等。我们机房使用的是2001万能在线开发的过关汉诺塔游戏,请同学们熟悉一下这个游戏。

环节二:组织活动 适当引导

 

这个游戏很简单,第一关是两个盘子,而后依此类推,盘子越来越多,步骤越来越多,难度越来越大,要求借助Second杆将First杆上的盘子按照屏幕上显示的规则移到Third杆上。教师可做适当解释,也可以完全由学生发现。

 

这一环节用时不易过多,10分钟左右即可。

 

环节三:共同分析 领会思想

 

教师指示学生看大屏幕,开始游戏。

 

师:怎样用最少的步骤完成第一关呢?(过关步骤越多,得分越低;反之越高,二者成反比)

 

教师抽两三个学生在大屏幕上演示或者采用提问的方式,也可以是教师演示,而后做小结。

 

师:当First杆上只有两个盘子时,我们需要先将上面的小盘放在Second杆上,再将下面的大盘放在Third杆上,最后再把Second杆上的小盘移到Third杆上,这样第一关就通过了。

 

 

 

 

师:以上反映了顺序结构程序设计的思想。顺序结构是按照程序或者程序段书写顺序执行的语句结构,它表明了事情发生的先后情况。在日常生活中有很多这样的例子,例如在淘米煮饭的时候,总是先淘米,然后才煮饭,不可能是先煮饭后淘米。在上面的第一关中,只有按First->Second, First->Third, Second->Third的顺序才能以最少的步骤通过第一关。

 

<留几分钟供学生思考、讨论>

 

再进行第二关,First杆上有三个盘子。抽学生上台演示,有的学生可能想一次移动几个盘子,有的学生可能想将大盘子放在小盘子上面,但都因为违背规则无法实现,而必须另取他径。

 

师生共同总结:假如要一次移动若干个盘子,结果是移不动,必须一次移动一个;假如要将大盘子移到小盘子上,结果是大盘子又退回到原来的位置。

师:这反映的是选择结构程序设计的思想。顺序结构和选择结构的共同特点是只有一个入口和一个出口。比如刚才我们一起总结的大盘子和小盘子的位置问题,如果将小盘子放在大盘子的上面(入口一),移动成功(出口一),否则(入口二:将大盘子放在小盘子的上面),移动失败(出口二)。

 

 

<留几分钟供学生思考、讨论>

 

师生共同过关,第四关,第五关,第六关,第七关,……,共同发现汉诺塔游戏的循环步骤:

 

1、  简化问题:设盘子只有一个,则问题可简化为First-> Third;

 

2、  对于大于一个盘子的情况,逻辑上可分为两部分:第n个盘子和除n以外的n-1个盘子。如果将除n以外的n-1个盘子看成一个整体,则:

a)      将First杆上n-1个盘子借助于Third先移到Second杆:First->Second(n-1, First, Second, Third);

b)      将First杆上第n个盘子从First移到Third杆:First->Third;

c)      将Second杆上n-1个盘子借助First移到Third杆:Second->Third (n-1, Second, Third, First)

 

师:在程序中,凡是需要重复相同或相似的操作步骤,都可以使用循环结构来实现。循环结构由两部分组成:循环体,即要重复执行的语句系列,如上面的步骤;循环控制部分,即用于规定循环的重复条件或重复,如盘子的个数或关次。

 

 

张义兵评析:

 

1、汉诺塔游戏的玩法蕴涵了顺序、选择、循环三种程序设计结构的基本思想,可谓是一剑三雕。也许有人会问:教材中已经对三种结构各举一例,为何还要多此一举?只有亲身经历过才能更深地体会!教材中的三个例子均为书面材料,本案例除了文字信息,还能让学生实际操作,通过本案例和教材中例子的学习,能使学生更深刻地领会三种结构的基本思想。而且本案例用时不多,大约30分钟,其间围绕一个问题(汉诺塔游戏)分析三种结构,学生的思维容易保持连续、缜密。

 

2、汉诺塔游戏也体现了递归算法的思想,如果在第三章的第五节如何用递归法解决问题的教学中,教师打算使用该游戏,那么本案例在一定程度上为随后学习算法做了铺垫(实际教学中需做适当修改)。同样,本案例的设计也为第四章的第一节——结构化程序设计提供了支撑。

 

3、所选用的汉诺塔游戏属于过关游戏,容易激发学生的兴趣。

 

4、本案例作为第三节内容的引子,从大多数学生较熟悉的游戏入手,能快速引导学生接受,耗时少。

 

本案例的选择和设计都较恰当,其中三个教学环节的有效开展关键在于学生能否准确地将游戏和教学内容结合起来,领会三种程序设计结构的基本思想,教师应引导学生积极参与、认真思考,为学习而游戏,切勿为游戏而游戏。

 

还可以如何讲:

 

本案例是在假设学生预习了第三节内容的基础上设计的教学前导,教师组织学生进行完三个教学环节后,开始讲解教材上的内容。如果学生的学习准备总体上欠缺的话,也可以在进行第三个教学环节的过程中讲解教材内容,环节三的教学模式是:师生共同分析->教师总结->学生讨论,可在每一轮分析、总结、讨论之后讲解教材上的相关内容。比如,分析游戏第一关之后,教师指出游戏中体现的顺序结构的思想,而后学生思考、讨论,紧接着结合教材中的例子和程序讲解第三节的第一部分内容:顺序结构。当然,也可以在教学之后实施本案例,以此做总结,同时巩固所学知识。