언플러그드 SW교육 #4_하노이탑 하며 재귀함수 체험하기


(출처: https://ko.wikipedia.org/wiki/%ED%95%98%EB%85%B8%EC%9D%B4%EC%9D%98_%ED%83%91)






하노이의 탑(Tower of Hanoi)은 퍼즐의 일종입니다.



세 개의 기둥과 이 기둥에 꽂을 수 있는 크기가 다양한 원판들이 있고,

퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있습니다.




이 게임의 목적은 아래 두 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮기는 것입니다.


[조건]
한 번에 하나의 원판만 옮길 수 있다.
큰 원판이 작은 원판 위에 있어서는 안 된다.





약간 어려운 이야기지만,


하노이의 탑 문제는 재귀 호출을 이용하여 풀 수 있는 가장 유명한 예제 중의 하나이다. 그렇기 때문에 프로그래밍 수업에서 알고리즘 예제로 많이 사용한다. 일반적으로 원판이 n개 일 때, 2n -1번의 이동으로 원판을 모두 옮길 수 있다(2n − 1는 메르센 수라고 부른다).



라고 한다(출처: https://ko.wikipedia.org/wiki/%ED%95%98%EB%85%B8%EC%9D%B4%EC%9D%98_%ED%83%91).




학생들은 하노이탑을 하면서 재귀함수에 관련된

알고리즘을 체험하게 된다.














학생들이 언플러그드로 경험한 하노이탑을 

컴퓨터 프로그램으로 하게 되면 

학생들은 자동화 과정까지 체험할 수 있다. 



<컴퓨터 프로그램 주소>

http://www.softschools.com/games/logic_games/tower_of_hanoi

http://play.gs/game/31/g/ko/








===


언플러그드 SW교육 #11_골드버그 장치로 자동화 체험하기











댓글