“西门吹雪”通过精心收集,向本站投稿了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

汉诺塔的日记范文(精选4篇)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、幼儿能否积极的想办法解决游戏中的困难。有没有放弃游戏。

澄清讨论

这次你完成游戏了吗?你心里感觉怎样?你遇到困难了吗?你有没有放弃?为什么?你是怎么做的?还想继续挑战吗?你有信心完成吗?

外显行为评价要点

今天你完成了几层汉诺塔的游戏?你成功了几次?你成功的时候心里感觉怎样?你遇到困难的时候感觉怎样?你有没有想过放弃,后来又是怎么做的?你觉得今天自己尽力了吗?你对自己的表现满意吗?

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。