Dictionnaires

Dictionnaires

La Tortue se déplace en suivant une suite d'instructions représentée par un mot composé des lettres "A", pour avancer d'un certain nombre de pixels pas, "G" pour tourner à gauche de 60 degrés, "D" pour tourner à droite de 120 degrés.

Par exemple si pas a pour valeur 50 pixels et si le mot est "AGADAGA" alors le déplacement de la tortue sera

On travaille à parir du squelette fractale.txt qu'on enregistre en fractale.py et que l'on complète pas à pas

Questions

  1. A l'état initial le mot est "A".Tant que la variable pas est au-dessus d'un certain SEUIL on fait la substitution A -> AGADAGA

    Ecrire à la main les 3 premiers mots

  2. Définir une fonction substitution(mot) où mot est formé uniquement des lettres A,D et G et qui retourne une chaîne de caractères où tous les "A" du mot précédent sont remplacés par "AGADAGA"

  3. Le dictionnaires actions permet d'associer à chaque lettre "A","D" ou "G" une action sur la Tortue. Compléter les fonctions tournerDroite() et tournerGauche() et remplir dans le main le dictionnaire actions
  4. Définir la fonction dessineFractale(longueur,actions) qui fait un dessin à partir du mot obtenu en répétant la substitution tant que le pas est supérieur au SEUIL

    A chaque substitution effectuée on divise le pas par 3

    Vous devez obtenir un dessin semblable à :

  5. Que faire pour obtenir le dessin suivant ?

  6. On change maintenant la règle de substitution A -> AGADADAGA

    Modifier les fonctions tournerDroite(), tournerGauche(), substitution(mot) afin d'obtenir un dessin semblable à

  7. On change maintenant la règle de substitution A -> GADAG

    Le pas n'est plus divisé par 3 mais multiplié par $\dfrac{\sqrt{2}}{2}$ (car la figure est un demi-carré)

    Modifier les fonctions tournerDroite(), tournerGauche(),substitution(mot) et dessineFractale(...) afin d'obtenir un dessin semblable à

  8. On change maintenant la règle de substitution A -> GADAG si A est de rang pair (le premier A est numéroté 0) et A -> RALAR si A est de rang impair

    Modifier les fonctions tournerDroite(), tournerGauche(),substitution(mot) et dessineFractale(...) puis compléter le dictionnaire actions avec les clés "R" et "L" et les valeurs associées afin d'obtenir un dessin semblable à