Outils pour utilisateurs

Outils du site


doba:factorisation_tortue

Factorisation de code avec la tortue

Étymologie

En mathénatiques, on dit qu’on factorise Z dans Z×Y + 2×Z quand on écrit :

Z×Y + 2×Z = Z×(Y+2)

Premier carré

Premier carré 1

Explication des commandes :

  • (RAZ) remet à zéro l’espace de travail ;
  • (AV 10) signifie avance de 10 pixels ;
  • (TD 45) signifie tourne à droite de 45 degrés.

Faites en sorte que le programme suivant dessine un carré de 100 pixels de côté.

Maintenant que le programme dessine un carré de 100 pixels de côté, comment modifier le programme précédent pour dessiner un carré de 50 pixels de côté ?

Premier carré 2

Pour nous simplifier la vie, nous allons utiliser une variable. Elle va nous permettre d’éviter les répétitions.

Faites en sorte que le programme suivant dessine un carré de 100 pixels de côté.

Maintenant que le programme dessine un carré de 100 pixels de côté, comment modifier le programme précédent pour dessiner un carré de 50 pixels de côté ?

Maintenant que la longueur du côté du carré est factorisée, la changer peut se faire en changeant une seule valeur. On a pu le faire grâce à la mise en place d’une variable.

Premier carré 3

Pour nous simplifier encore plus la vie, nous allons utiliser la commande Repeter. Elle va nous permettre d’éviter les répétitions.

Faites en sorte que le programme suivant dessine un carré de 100 pixels de côté.

Comment modifier le programme précédent pour dessiner un carré de 50 pixels de côté ?

Maintenant que la longueur du côté du carré est factorisée, la changer peut se faire en changeant une seule valeur. On a pu le faire grâce à la mise en place d’une boucle.

Plusieurs carré

Plusieurs carré 1

Dessinez trois carrés.

Vous pourriez avoir besoin des commandes (LC) et (BC), qui permettent de lever et de baisser le crayon.

Plusieurs carré 2

Grâce à Definir, on peut stocker le code du carré dans une commande. La vraie syntaxe, dans le cas où la commande ne prend pas de paramètre, est :

(!!! "Pour définir :")
(Definir (Carre)
    "Un texte pour la documentation."
    "Le nom de l’auteur."
    (!!! "Le code...")
    (Retourner la_valeur_de_retour)
)
(!!! "Pour utiliser :")
(Carre)

Ici, on peut omettre la doc, l’auteur et le Retourner.

Comment dessiner des carrés de différentes tailles sur le même dessin ?

Empilements

Empilements 1

Dessiner :

  • un empilement de 3 carrés de taille 50,
  • un empilement de 5 carrés de taille 20.

Exemple de pile de carrés :

+-----+
|     |
|     |
+-----+
|     |
|     |
+-----+
|     |
|     |
+-----+

Empilements 2

Créer une commande Pile qui empile les carrés, et utilisez-la pour coder les deux empilements précédents. Vous aurez sans doute besoin de modifier Carre.

Nous aurons besoin de paramétrer la commande. La syntaxe est assez semblable :

(!!! "Pour définir :")
(Definir (Carre longueur)
    "Une texte pour la documentation."
    "Le nom de l’auteur."
    (!!! "Le code...")
    (Retourner la_valeur_de_retour)
)
(!!! "Pour utiliser :")
(Carre 100)

Empilements 3

Avant de lancer le programme suivant, exécutez-le vous-même sur une feuille de papier à la place de la tortue !
Vérifiez ensuite si vous avez travaillé correctement.

Conclusion

Nous avons vu trois façons de factoriser du code :

  • avec une variable ;
  • avec une boucle Repeter, mais ça aurait pu être aussi avec Tant_que...Faire ou Faire...Tant_que ;
  • avec la définition d’une commande, donc grâce à la commande Definir.
doba/factorisation_tortue.txt · Dernière modification: 2017/01/05 09:34 par 82.127.58.57