Tour d'hanoi
Principe du jeu
Le jeu des tours de Hanoi se compose de trois tours et de disques en nombre variable et tous de taille différente ( taille décroissante).
Au début du jeu, les disques sont tous empilés sur la tour de gauche, rangés par taille décroissante, le plus large étant à la base de la tour.
Le but du jeu est de reconstruire de la même façon cette tour de gauche sur la tour de droite par mouvements successifs de disques en s’astreignant aux règles suivantes : on ne peut déplacer qu’un seul disque à la fois. on ne peut déplacer un disque que s’il est au sommet d’une tour. on ne peut empiler un disque sur une autre tour que s’il est de taille inférieure.
Objet du rapport
Les mouvements successifs nécessaires pour arriver au résultat peuvent être trouvés à l’aide d’un algorithme.
Les recherches au cours du TD nous ont fait découvrir la façon d’écrire cet algorithme de manière récursive.
L’objet du TD fut ensuite d’appliquer cet algorithme dans plusieurs programmes destinés à trouver puis illustrer la solution du problème des tours de Hanoi pour un nombre de disques choisi par l’utilisateur.
Ce rapport présente les programmes en langage ADA de plusieurs formes d’illustration des résultats ainsi que la reproduction des résultats donnés par la machine lors de leur lancement.
Les formes d’illustration suivantes ont été traitées : affichage des mouvements successifs des disques sous la forme « Déplacer de tour1 à tour2 » affichage des mouvements comme précédemment, ainsi que les appels et retours de la procédure Hanoi de façon à illustrer la récursivité.
Affichage des mouvements et dessin des tours à chaque étape de la résolution.
Première version : affichage des déplacements
Commentaires
Cette première version se contente d’afficher les uns après les autres les mouvements des disques permettant de parvenir à la solution.
Les mouvements sont affichés sous la forme « Déplacer de x vers y », ce qui signifie