Skip to content

Présentation du module turtle

Un peu d'histoire : le langage LOGO

Par « tortue », on désigne un robot virtuel capable de se déplacer dans un plan en laissant une trace ou non de son passage. Elle a été inventée dans les années 1960 au MIT par Seymour Papert qui a conçu un langage informatique (LOGO) destiné aux enfants. Enfin aux enfants … petits et grands (!) car vous allez le voir, la programmation de la « tortue » permet d’aller assez loin dans l’algorithmique.

Le but de cette partie est de découvrir quelques fonctions permettant de contrôler la « tortue ». Mais tout d’abord, un exemple :

Vous pouvez essayer de modifier l’exemple précédent pour vous familiariser avec les « ordres » que comprend votre « tortue ». Voici la description de quelques méthodes/fonctions de base, sachant qu’une « tortue » (une instance de la classe Turtle) a été créée avec le joli nom de Cloe.

  • Cloe.left(angle) : change l’orientation de la tortue qui tourne à droite d’un angle de angle degrés.
  • CLoe.right(angle) : change l’orientation de la tortue qui tourne à gauche d’un angle de angle degrés.
  • Cloe.forward(l) : avance la tortue d’une longueur de l pixels selon la direction et le sens selon lesquels est orientée la tortue
  • Cloe.backward(l) : recule la tortue d’une longueur de l pixels selon la direction et le sens selon lesquels est orientée la tortue
  • Cloe.pencolor(colorname) ou Cloe.pencolor(rgb) fixe la couleur du stylo permettant à la tortue de dessiner au sol : ici colorname est une chaîne de caractères (comme ‘red’, ‘blue’, …) et rgb est une chaîne de caractères représentant une couleur au format RGB (comme ‘#FE78AD’).
  • Cloe.write(s,align=’right’, font=(‘Arial’,13,’normal’)) affiche le texte s à gauche de Cloe (Cloe alignée à droite du texte), dans la police Arial, en taille 13pt et en mode d’écriture normal (pas d’italique). Bien sûr, il est possible de modifier la police utilisée, sa taille, etc …

Par défaut, votre « tortue » laisse une trace de ses déplacements (on dit que le stylo est baissé), mais il est possible de déplacer votre tortue sans laisser de trace (on dira que le stylo est levé) :

  • Cloe.penup() : lève le stylo suite à quoi la tortue ne laissera plus de trace par le fait d’un déplacement
  • Cloe.pendown() : baisse le stylo suite à quoi la tortue laissera une trace de son déplacement

Vous pouvez accélérer ou ralentir la vitesse d’animation de la « tortue » (l’animation contrôle la vitesse à laquelle la tortue tourne et avance). Les paramètres de vitesse peuvent être définis entre 1 (le plus lent) et 10 (le plus rapide). Mais si vous définissez la vitesse à la valeur 0, cela a une signification particulière : vous désactivez l’animation et la tortue avance aussi vite que possible.

  • Cloe.speed(v) : contrôle de la vitesse d’animation de la tortue par le paramètre entier v compris entre 0 et 10

Votre travail :

Ce contenu est réservé aux étudiants de PCSI2.
CPGE du lycée Fabert -- METZ

Exercice 1

  • Ecrire une fonction carre(longueur, couleur) qui fait tracer un carré de côté longueur en utilisant un stylo de teinte couleur.
  • Utiliser votre fonction carre pour créer les figures suivantes :


puis

Ce contenu est réservé aux étudiants de PCSI2.
CPGE du lycée Fabert -- METZ

Exercice 2

À l’aide de votre fonction carre, écrire une fonction carrePivotant(longueur,n) qui fait dessine n carrés de côtés longueur autour d’un sommet commun. Pour n=7 et n = 10, vos figures devront ressembler aux figures ci-dessous :

Ce contenu est réservé aux étudiants de PCSI2.
CPGE du lycée Fabert -- METZ

Corrigé des exercices 020-1 et 020-2

Ce contenu est réservé aux étudiants de PCSI2.
CPGE du lycée Fabert -- METZ


Back To Top