Tortue Logo
Énoncé
Dans ce premier mini-projet, on se propose d’écrire un programme simulant un mini Logo. Logo est un langage de programmation vous permettant de contrôler une petite tortue représentant la pointe d’un crayon, dessinant une image lors de ses déplacements.
La tortue obéit à différentes commandes mais nous ne considérerons dans ce TP que les commandes suivantes :
- avance
- tourne_droite
- tourne_gauche
- leve_crayon
- baisse_crayon
Votre travail consiste à implémenter toutes les fonctions du module logo.py
dont le squelette vous est fourni ici et affiché ci dessous.
Vous noterez qu'il n'est pas utile d'implanter des fonctions leve_crayon
et baisse_crayon
car on manipule directement un booléen crayon_en_bas
dans le fichier de test.
Comme vous le constatez, le module logo.py
utilise le module svg.py
que nous avons développé dans le TP précédent.
Si vous ne savez pas comment utiliser ce module, cela signifie que vous n'avez pas fait l'exercice à ce sujet lors de la séance précédente et que vous trouverez ici.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
Vous aurez sûrement besoin de fonctions de trigonométrie de base dans ce TP : elles sont fournies par le module math
de Python.
Nous vous fournissons le programme principal test_logo.py
ici et affiché ci dessous.
Une lecture attentive de ce programme de test vous permettra de bien comprendre ce que doit faire chacune des fonctions du module logo.py
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
|
Ce programme ne doit pas être modifié mais doit obligatoirement être utilisé pour tester votre module logo.py
.
Comparez le résultat avec celui de vos camarades pour vous convaincre (ou non au contraire) que votre implémentation du module logo.py
est correcte.
Pour dessiner des segments dans votre module logo.py
, vous utiliserez la fonction suivante que vous devez rajouter à votre module svg.py
:
1 2 3 4 5 6 7 8 |
|
On rappelle que la documentation SVG est accessible sur le site de w3schools.
Il est assez facile de se tromper dans les calculs pour ce TP, n’hésitez pas à interpeller votre enseignant pour qu’il vous explique comment déboguer votre programme.
Correction
Cliquez ici pour révéler la correction.
Voici la correction du module logo.py
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
|
Voici la correction de la fonction genere_segmnent
:
1 2 3 4 5 6 7 |
|