INTRODUCTION |
Les ordinateurs sont particulièrement bons pour répéter des instructions de manière répétitives des milliers de fois, y compris les instructions à destination de la tortue. Pour dessiner un carré, il faut entrer les commandes forward(100) et left(90) quatre fois d'affilée. Pour ce faire, il est suffisant d'indiquer à la tortue de répéter quatre fois ces deux instructions. Cela se fait facilement avec la structure repeat qui permet d'indiquer à la tortue de répéter un bloc d'instructions un certain nombre de fois. Afin d'indiquer à l'ordinateur quelles instructions il faut répéter, ces dernières doivent être décalées (on dit indentées en langage technique) par rapport à l'instruction repeat. On utilise généralement 4 espaces consécutifs pour marquer une indentation.
|
STRUCTURE REPEAT |
from gturtle import * makeTurtle() repeat 4: forward(100) left(90)
|
MEMENTO |
Par l'instruction repeat n:, on demande à l'ordinateur de répéter n fois une ou plusieurs instructions avant de continuer l'exécution normale du programme. Tout ce qui doit ètre répété doit ètre placé directement sous l'instruction repeat avec une indentation cohérente. Il ne faut pas mélanger les espaces et les tabulations pour marquer l'indentation. Dans le monde de Python, les espaces sont recommandés pour marquer les tabulations. repeat number: Instructions |
RÉPÉTER DES SONS |
from gturtle import * makeTurtle() setPos(-200, 0) right(45) repeat 5: playTone(392, 400) forward(50) right(90) playTone(523, 400) forward(50) left(90)
|
MEMENTO |
La fonction setPos(x, y) permet de placer la tortue à un endroit précis sur la fenêtre sans dessiner de trace. Les deux entiers x et y représentent les coordonnées relative à l'origine qui se trouve au centre de la fenêtre. Les intervalles dans lesquels se situent les coordonnées dépendent de la taille de la fenêtreTu peux également spécifier la note de la gamme du son produit par playTone() en utilisant une lettre représentant la note à jouer dans le système anglo-saxon. Pour rappel, le La est représenté par la lettre a, le Si par la lettre b etc ... Pour passer à l'octave inférieure, il faut rajouter une apostrophe après la lettre de la note, ce qui donnerait a', b', c', d', et ainsi de suite. On peut rajouter deux apostrophes pour passer à l'octave supérieure. Il ne faut pas oublier de rajouter les doubles guillemets autour du nom de la note, donc par exemple "a". On peut spécifier un instrument pour jouer cette note. Les instruments disponibles sont "piano", guitar, "harp", "trumpet", "xylophone", "organ", "violin", "panflute", "bird", "seashore"). Faites-vous plaisir en essayant ceci:
|
BOUCLES DE RÉPÉTITIONS IMBRIQUÉES |
from gturtle import * makeTurtle() # hideTurtle() repeat 20: repeat 4: forward(80) left(90) right(18)
|
MEMENTO |
Les instructions repeat peuvent être imbriquées. Il est capital d'indenter correctement les lignes appartenant à chacun des blocs repeat. |
EXERCICES |
1. | Dessiner un escalier comportant 7 marches. | |||
2. | Dessiner une étoile en utilisant l'instruction back(). | |||
3. | Dessiner une "vraie" étoile grâce en utilisant les angles de 140° et 80°. | |||
4. | Dessiner la figure suivante en utilisant deux instructions repeat imbriquées. Le repeat intérieur doit dessiner un carré. | |||
5. | Dessiner un collier de perles. |
|||
6. | Dessiner un oiseau. |