2.3 REPETER UNE SERIE D'INSTRUCTIONS (BOUCLES)


INTRODUCTION


Les ordinateurs, (et les tortues... ) savent très bien répéter de nombreuses fois les mêmes instructions.
Pour dessiner un carré, nous pouvons écrire quatre fois de suite forward(100) et left(90).
Il est cependant beaucoup plus simple de demander à l'ordinateur, pardon, à la tortue, de répéter quatre fois le bloc de programme suivant : "forward(100) left(90)" , et de ne les écrire qu'une seule et même fois.

L'instruction repeat 4: indique à la tortue qu'elle doit répéter quatre fois le bloc d'instructions qui suit cette instruction.
Pour que l'ordinateur sache les instructions qu'il doit répéter, on décale les instructions de trois espaces, on appelle cela une indentation ou un retrait.


REPEAT - STRUCTURE


Pour dessiner un carré, la tortue doit aller quatre fois directement et selon une rotation de 90 °. Souhaitez-vous écrire tout cela avec l'autre, le programme serait assez longue.

Avec l'instruction repeat 4:, vous dites à la tortue, de répéter 4 fois les lignes suivantes indentées







MEMO


Avec l'instruction repeat nombre:, : vous dites à l'ordinateur qu'il doit répéter une ou plusieurs instructions un certain "nombre" de fois.
Les instructions qui doivent être répétées sont mises en en retrait ou indentées.
repeat nombre:
Instructions
qu'il faut
répéter
Instructions
à ne pas
répéter

N'oubliez pas le signe ":" après le nombre !!

REPEAT IMBRIQUES


Dans ce second exemple, deux états de répétition sont imbriqués.
Dans la boucle de répétition intérieure (repeat 4: ... ), la tortue dessine un carré, puis pivote de 20 degrés vers la droite.

Cette opération est répétée 20 fois
(repeat 20: ... ) pour obtenir la figure ci-contre.

Remarquez l'indentation des instructions qui doivent être répétées.

L'instructrion hideTurtle() est précédée d'un dièse (#) ; elle est donc inopérante, mais si vous retirez le dièse, le programme va être beaucoup plus rapide.




A MEMORISER


Les instructions de répétition peuvent être imbriquées.
Vous devez absolument indenter correctement les instructions qui doivent être répétées.
N'oubliez pas le signe : après le nombre de répétitions.


EXERCICES



1

Dessinez un escalier de sept marches.

2

Dessiner une étoile simple.
Utilisez l'instruction back()


3

Dessinez et coloriez en rouge l'étoile ci-contre.
Arrivée au bout d'une branche, la tortue doit pivoter d'un angle de 140 ° à droite, avancer puis pivoter à gauche d'un angle de 80°.



4

Dessiner la figure suivante avec deux boucles de répétitions imbriquées.
Un carré est dessiné dans chaque boucle intérieure.


5


L'instruction leftArc(30,180), fait dessiner à la tortue un arc de cercle vers la gauche ayant un rayon de 30 pixels et un angle d'ouverture de 180°, elle dessine donc un demi-cercle. 


Dessiner avec les instructions leftArc(rayon,angle) et rightArc(rayon,angle) la figure ci-contre.

6

Dessinez à l'aide de deux quarts de cercle (90°) un oiseau.




Traduit assez librement (et légèrement adapté) de PROGRAMMIERKONCEPT de J. Arnold, T. Kohn, et Aegidius Plüss