rollercoaster

TP1-PROG-03 - La boucle for#

Objectifs#

  • Introduction du concept de boucles dans un programme

Définition#

Lorsque nous devons répéter plusieurs fois la ou les mêmes opérations, il est utile de le dire à l’ordinateur. C’est le concept de boucle.

Exemple : dessiner un triangle équilatéral#

Les instructions pour dessiner un triangle équilatéral sont :

t.forward(100)
t.left(120)
t.forward(100)
t.left(120)
t.forward(100)
t.left(120)

On observe qu’on a 3 fois deux instructions identiques :

t.forward(100)
t.left(120)

On peut transformer ces trois instructions identiques en une boucle qui les appelerait les trois à la suite :

pour i = 0, 1, 2 faire:
   t.forward(100)
   t.left(120)

En Python, une boucle s’écrit en utilisant le mot-clef for, suivi d’une variable nommée itérateur, par convention on la nomme i, puis des deux mot-clefs in range(x) où la valeur de x est la portée de l’intervalle.

Ainsi les instructions pour dessiner un triangle deviennent :

for i in range(3):
    t.forward(100)
    t.left(120)

Exercice 1#

  • Ecrivez des programmes qui utilisent une boucle for

    • dessiner un carré de côté 100 et

    • dessiner un pentagone de côté 100

    • dessiner un losange de côté 100

Observation#

On observe que :

  • Triangle : 3 fois avancer et tourner de 120° (3 x 12° = 360°)

  • Carré : 4 fois avancer et tourner de 90° (4 x 90° = 360°)

  • Pentagone : 5 fois avancer et tourner de 72° (5 x 72° = 360°)

Est-il possible de généraliser et dessiner n’importe quel polygone de côté 100 avec une boucle ?

Exercice 2#

Ecrivez un programme qui fixe le nombre de côté du polygone cotes et qui le dessine..

Hint : utiliser une nouvelle variable qui contient le nombre de côtés du polygone. Par exemple : cotes = 5 pour un pentagone, cotes = 8pour un octogone

Exercice 3#

Quelle est la forme géométrique de votre programme si le nombre de côtés est 100 (en réduisant la taille du côté du polygone à 2) ? Testez !

Exercice 4#

Utilisez votre programme polygone.py pour dessiner les polygones de 3 (triangle) à 12 (dodécagone) côtés.

Hint : observez les instructions qui se répètent et placez-les dans une boucle. La fonction range peut prendre deux arguments : la borne inférieure (par exemple bi) et la borne supérieure (par exemple bs) : for i in range(bi,bs) :