
TP1-PROG-03 - La boucle while#
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 :
faire trois fois:
t.forward(100)
t.left(120)
En Python, une boucle s’écrit en utilisant le mot-clef while, suivi d’un test de fin. Le mot-clef while pourrait se traduire en français par tant que. On pourrait avoir un nombre i qui serait initialisé à 0 et qui ajouterait, à chaque itération de la boucle, une unité jusqu’à obtenir 3. Le test correspondant serait tant que i est strictement plus petit que 3, faire : en français.
i = 0
tant que i plus petit que 3, faire:
t.forward(100)
t.left(120)
i = i + 1
Ainsi les instructions pour dessiner un triangle deviennent :
i = 0
while i < 3:
t.forward(100)
t.left(120)
i = i + 1
Exercice 1#
Ecrivez des programmes qui utilisent une boucle
whiledessiner 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 :
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#
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.
Exercice 4 : une étoile à 5 branches#
Écrivez un programme qui dessine une étoile régulière à 5 branches avec turtle et une boucle while.
Exercice 5 : 4 étoiles#
A l’aide du code de l’exercice 5, écrivez un programme qui dessine 4 étoiles à 5 branches aux sommets d’un carré de côté 150
Exercice 6#
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 !