TP1-PROG-03 - La boucle for
Contents
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 = 8
pour 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) :