rollercoaster

TP1-PROG-03 - Boucles#

Objectif 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#

La fonction pour dessiner un triangle équilatéral peut s’écrire ainsi :

def triangle():
    t.forward(100)
    t.left(120)
    t.forward(100)
    t.left(120)
    t.forward(100)
    t.left(120)

fonction que l’on peut ensuite appeler dans le programme principal :

from turtle import *
t = Turtle()
triangle()

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 la fonction pour dessiner un triangle devient :

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

que l’on peut ensuite appeler dans le programme principal :

triangle2()

A noter : la fonction range() se généralise avec 3 paramètres : la borne inférieure, la borne supérieure ainsi que le pas :

range(borneInf, borneSup, pas)

Exercice 1#

  • Ecrivez les fonctions en utilisant une boucle for

    • triangle() qui dessine un triangle équilatéral de côté 100

    • carre() qui dessine un carré de côté 100 et

    • pentagone() qui dessine un pentagone 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 la fonction pour dessiner n’importe quel polygone de côté 100 avec une boucle ?

Exercice 2#

Ecrivez une fonction polygone(nombre) qui prend en paramètre le nombre de côté du polygone nombre et qui le génère.

Exercice 3#

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

Truc : Cela s’écrit en deux lignes avec une boucle. Il est possible d’utiliser la valeur de l’itérateur dans l’appel à la fonction

Exercice 4#

Modifiez votre fonction polygone(nombre) pour qu’elle intègre la longueur du côté du polygone. Ceci afin de pouvoir dessiner un polygone de taille et de nombre de côté quelconque.

La signature de votre fonction devient :

def polygone(nombre, longueur) :

Exercice 5#

Quelle est la forme géométrique de l’appel à la fonction :

polygone(300,1)