Découverte de la tortue

Présentation de la tortue

Le contenu de cette partie doit être copié sur la fiche «Programmer avec python» après le titre *II) La tortue*.

A. Le module turtle

Pour avoir accès aux fonctions de la tortue dans un programme python, il **doit** commencer par la ligne
from turtle import *

B. Diriger la tortue

Les tracés sont effectués dans une fenêtre carrée. La tortue démarre au centre, au point de coordonnées (0,0).

Les fonctions de la tortue qui nous seront utiles dans un premier temps sont les suivantes.

Première figure

Suite d'instructions

Créer dans son dossier personnel un fichier tpimage1.py dans lequel devra figurer la ligne d'import des fonctions du module turtle (voir ci-dessus), puis les commandes traduisant le tracé suivant.

  1. baisser le crayon
  2. tourner à gauche de 60°
  3. avancer de 140
  4. tourner à droite de 120°
  5. avancer de 140
  6. lever le crayon
  7. reculer de 70
  8. tourner à droite de 120°
  9. reculer de 10
  10. baiser le crayon
  11. avancer de 90
  12. lever le crayon
  13. reculer de 10
  14. tourner à gauche de 60°
  15. avancer de 70
  16. tourner à gauche de 120°
  17. lever le crayon
Indication

On doit obtenir cette figure :

Correction
	  from turtle import *
pendown()
left(60)
forward(140)
right(120)
forward(140)
penup()
forward(-70)
right(120)
forward(-10)
pendown()
forward(90)
penup()
forward(-10)
left(60)
forward(70)
left(120)
penup()

	

Procédure de tracé

Le code ci-dessous, à compléter avec celui écrit à la question précédente, permet de définir une fonction python effectuant le tracé. Elle a l'avantage de pouvoir être invoquée plusieurs fois, pour pouvoir reproduire la figure à différents endroits.

from turtle import *
def traceA():
    pendown()
    ...
      

Pour utiliser cette fonction, il faut:

Cette commande trace la figure à partire de la position et de l'orientation actuelle de la tortue.
Si, avant d'appeler la fonction, on fait avancer ou tourner la tortue, la figure sera ainsi déplacée et pivotée de la même façon.

En invoquant trois fois la fonction traceA() dans la console, après avoir à chaque fois déplacé et orienté la tortue convenablement, effecuer le tracé ci-dessous.

Correction
	  traceA()
left(180)
traceA()
left(60)	    
forward(-280)
right(60)
traceA()

	

Tracé avec paramètre

On ajoute a présent un paramètre à la fonction traceA :

from turtle import *
def traceA(p):
    pendown()
    ...
      

Les instructions doivent être modifiées pour que les longueurs soient multipliées par p (avec *p), mais pas les angles.

Indication

Les distances apparaîssent chaque fois dans les appels de la fonction forward. Ainsi forward(140) devient forward(140*p).

On définit la nouvelle fonction dans la console en exécutant le programme.
Pour invoquer la fonction, il faut desormais préciser la valeur du paramètre : traceA() ne fonctionne plus, il faut saisir à la place dans la console traceA(1) pour tracer la figure en multipliant toutes les longueurs par 1, c'est à dire sans changer son échelle.

Utiliser la nouvelle fonction traceA pour obtenir la figure ci-dessous.

Correction
	  traceA(2)
forward(70)
traceA(1)
forward(35)
traceA(0.5)