“西门吹雪”通过精心收集,向本站投稿了4篇汉诺塔的日记范文,下面是小编为大家推荐的汉诺塔的日记范文,欢迎大家分享。

篇1:军训汉诺塔心得体会
周末公司组织参加了卓越拓展策划的拓展活动,我们参加了信任背摔,毕业墙,无敌风火轮,汉诺塔,雷区取水几大拓展项目,其中我最喜欢的就是汉诺塔:
五个从小到大,颜色不一样的圆盘,把 “圆盘区”的圆盘经由“目标区”全部转移至“中转区”,每次只能移动一个圆盘,而且必须满足小圆盘在上大圆盘在下。每个人每次只能移动一个圆盘,由全队集体完成。
我们在队长的带领进行了井然有序的演练,一切都很顺利。第一局比赛开始,在紧张的.节奏下,一切都在顺利进行,轮到我了,一紧张结果忘记了我该走那一步了,结果还是错了,然后,后续队员发现了问题,经过三四分钟的努力纠正,才终于回到正常的步骤,第一局虽然战胜猛虎队,但是由于我的失误,还是严重影响到我们的成绩,对此我深感自责。
中场休息时间,我们认真总结第一轮出现的失误,又进行了多次演练,第二局我们队仅用了一分多钟就完成了任务。这个项目让我们深刻体会到强有力的领导、合理计划、严密组织、团结协作、严格执行对我们完成集体任务是多么的重要。
一个团队每个人都充当了不同的角色,有决策者,有参谋者,有执行者。但每个角色都是团队中不可或缺的一员。这就需要在以团队的整体目标和利益为首要的情况下,明确分工,充分发挥自己的才智与作用,使团队顺利、高效的完成任务。
篇2:拓展训练汉诺塔心得体会
拓展训练汉诺塔心得体会
周末公司组织参加了卓越拓展策划的拓展活动,我们参加了信任背摔,毕业墙,无敌风火轮,汉诺塔,雷区取水几大拓展项目,其中我最喜欢的就是汉诺塔:
五个从小到大,颜色不一样的圆盘,把 “圆盘区”的圆盘经由“目标区”全部转移至“中转区”,每次只能移动一个圆盘,而且必须满足小圆盘在上大圆盘在下。每个人每次只能移动一个圆盘,由全队集体完成。
我们在队长的带领进行了井然有序的演练,一切都很顺利。第一局比赛开始,在紧张的`节奏下,一切都在顺利进行,轮到我了,一紧张结果忘记了我该走那一步了,结果还是错了,然后,后续队员发现了问题,经过三四分钟的努力纠正,才终于回到正常的步骤,第一局虽然战胜猛虎队,但是由于我的失误,还是严重影响到我们的成绩,对此我深感自责。
中场休息时间,我们认真总结第一轮出现的失误,又进行了多次演练,第二局我们队仅用了一分多钟就完成了任务。这个项目让我们深刻体会到强有力的领导、合理计划、严密组织、团结协作、严格执行对我们完成集体任务是多么的重要。
一个团队每个人都充当了不同的角色,有决策者,有参谋者,有执行者。但每个角色都是团队中不可或缺的一员。这就需要在以团队的整体目标和利益为首要的情况下,明确分工,充分发挥自己的才智与作用,使团队顺利、高效的完成任务。
篇3:语言、与C语言、实现汉诺塔
imwtr
汇编语言、与C语言、实现--汉诺塔--
题意描述:
用汇编语言实现汉诺塔,只需要显示移盘次序,不必显示所移盘的大小,例如: X>Z,X>Y,Z>Y,X>Z,....。
(n阶Hanoi塔问题)假设有三个分别命名为X、Y、Z的塔座,在塔座X上插有n个直径大小各不相同、依小到大编号为1,2,…,n的圆盘。现要求将X轴上的n个圆盘移至塔座Z上并仍按同样顺序叠排,圆盘移动时必须遵循下列规则:
1)每次只能移动一个圆盘;
2)圆盘可以插在X、Y、Z中的任一塔座上;
3)任何时刻都不能将一个较大的圆盘压在较小的圆盘之上。
汉诺塔的实现,用C语言来解释就是函数递归调用实现
如果转为汇编实现,就直接进入栈进行相应的操作就行(当然你也可以用汇编语言宏实现高级的递归调用..)
C语言方式:
复制代码
void move(char one,char three){ //one 移到thre
printf(“%c--->%c”,one,three);
}
void HANOI(int n,char one,char two,char three){
if(n==1){ //如果只有一个圆盘,直接将这个圆盘从one移到three
move(one,three);
}
else{ //如果大于一个圆盘
HANOI(n-1,one,three,two); //首先将n-1个从one经过three移到two上,此时one上剩最大的一个圆盘
move(one,three); //将最大的圆盘从one移到three上
HANOI(n-1,two,one,three); //之后将n-1个从two经过one移到three上,完成。
}
} // end of void
HANOI(5,'X','Y','Z'); //即可5阶汉诺塔从X盘移到Z盘
复制代码
递归操作仔细想想就可以了,这样栈的操作逐渐明朗,你就可以用汇编语言实现它了(通过bp栈指针的运算进栈push出栈pop就可以实现相应递归调用)。
汇编代码实现如下:
复制代码
1 DATA SEGMENT
2 n db ?
3 msg db 0dh,0ah,'Enter the number you want : $'
4 msg1 db 0dh,0ah,'HANOI-MOVE Procedure with : $',0ah,0dh
5 to db '--->$'
6 count dw 0 ; 5个一组输出显示
7 DATA ENDS
8
9 CODE SEGMENT
10 ASSUME CS:CODE,DS:DATA
11 START:
12 MOV AX,DATA
13 MOV DS,AX
14
15 LEA DX,msg
16 CALL intro
17 KEYIN:
18 MOV AH,01H ;字符输入并回显
19 INT 21H
20 MOV byte ptr[n],Al ;接收键入的n值
21
22 LEA DX,msg1
23 CALL intro
24 MOV DL,0ah
25 CALL DISPLAY
26
27 MOV AL,byte ptr[n]
28 SUB AL,30H
29 CBW
30 MOV DX,AX
31 MOV AX,'X'
32 MOV BX,'Y'
33 MOV CX,'Z'
34 ;MOV DX,[n]
35
36 PUSH DX
37 PUSH CX
38 PUSH BX
39 PUSH AX
40
41 CALL HANOI_MOVE
42 ADD SP,8
43
44 MOV DL,0ah
45 CALL DISPLAY
46 LEA DX,msg
47 CALL intro
48 JMP KEYIN
49
50 GroupMake:
51 INC [count]
52 MOV AX,[count]
53 MOV BL,5 ;5 个一组
54 DIV BL
55 CMP AH,0
56 JNE SPACE
57 MOV DL,0ah
58 CALL DISPLAY ;输出换行
59 JMP CLOSE
60 SPACE:
61 MOV DX,20H
62 CALL DISPLAY ;输出空格
63 CLOSE:
64 RET
65
66 STEP: ;输出步骤号
67 MOV AX,[count] ;防止count多位数不正确输出--hexTOdec
68 MOV CX,0
69 MOV BX,10
70 DISP1:
71 MOV DX,0
72 DIV BX
73 PUSH DX
74 INC CX
75 OR AX,AX
76 JNZ DISP1
77
78 MOV DL,5BH ; 输出显示[
79 CALL DISPLAY
80 DISP2:
81 POP DX
82 ADD DL,30H ; 输出显示对应十进制
83 CALL DISPLAY
84 LOOP DISP2
85
86 MOV DL,5DH ; 输出显示]
87 CALL DISPLAY
88 RET
89
90 intro proc near ;提示语
91 MOV AH,09H
92 INT 21H
93 ret
94 intro endp
95
96 DISPLAY proc near ;输出字符
97 MOV AH,02H
98 INT 21H
99 RET
100 DISPLAY endp
101
102 HANOI_MOVE proc near
103 MOV BP,SP
104 MOV AX,[BP+8]
105 CMP AX,1
106 JG moreThanOne ;n 不等于1则跳转
107 CALL STEP
108 MOV DX,[BP+2] ;取第一个值
109 CALL DISPLAY
110 LEA DX,to
111 CALL intro
112 MOV DX,[BP+6] ;取第三个值
113 CALL DISPLAY
114 CALL GroupMake
115
116 RET
117
118
119 moreThanOne:
120 MOV AX,[BP+2]
121 MOV BX,[BP+4]
122 MOV CX,[BP+6]
123 MOV DX,[BP+8]
124 DEC DX ;n-1
125 PUSH DX
126 PUSH BX
127 PUSH CX
128 PUSH AX
129 CALL HANOI_MOVE ;递归一次,进行下一循环
130 ADD SP,8
131
132 MOV BP,SP
133 CALL STEP
134 MOV DX,[BP+2] ;取第一个值
135 CALL DISPLAY
136 LEA DX,to
137 CALL intro
138 MOV DX,[BP+6] ;取第三个值
139 CALL DISPLAY
140 CALL GroupMake
141
142 MOV AX,[BP+2]
143 MOV BX,[BP+4]
144 MOV CX,[BP+6]
145 MOV DX,[BP+8]
146 DEC DX ;n-1
147 PUSH DX
148 PUSH CX
149 PUSH AX
150 PUSH BX
151 CALL HANOI_MOVE ;递归一次,进行下一循环
152 ADD SP,8
153
154 RET
155 HANOI_MOVE endp
156
157 EXIT: MOV AH,4CH ;退出系统
158 INT 21H
159 CODE ENDS
160 END START
复制代码
耐心看看就行了,不是很难,栈的第一个参数是从bp+2开始的,别搞错了,
篇4:幼儿游戏有趣的汉诺塔教案
年龄:5-6岁
游戏辅导意向:
1、学习汉诺塔的玩法,愿意尝试独立完成游戏。
2、能运用恰当的.语言表达自己的想法,有一定的自我评价意识。
3、不怕挫折,勇于接受新挑战。
游戏准备
汉诺塔16个、红苹果和小红星若干,音乐等。
游戏规则及玩法
将汉诺塔的每一层由一根柱子移至另一根柱子上,自上而下由小到大进行排列,每次只能移动一个圆层,在移动过程中,大圆层不能放置在小圆层上。
行为观察
1、幼儿是否能按照游戏规则进行游戏。
2、幼儿能否完成三层或三层以上汉诺塔的游戏。
3、幼儿是否愿意接受更高难度的挑战。
4、幼儿能否积极的想办法解决游戏中的困难。有没有放弃游戏。
澄清讨论
这次你完成游戏了吗?你心里感觉怎样?你遇到困难了吗?你有没有放弃?为什么?你是怎么做的?还想继续挑战吗?你有信心完成吗?
外显行为评价要点
今天你完成了几层汉诺塔的游戏?你成功了几次?你成功的时候心里感觉怎样?你遇到困难的时候感觉怎样?你有没有想过放弃,后来又是怎么做的?你觉得今天自己尽力了吗?你对自己的表现满意吗?












