Vous êtes sur la page 1sur 4

LES PILIERS DE LA PROGRAMMATION(suite)

2eme partie
Après avoir découvert l’univers des logiciels greffés au noyau du langage Python, après avoir écrit et exécuté vos premières
inscructions, après avoir appris à stocker, à modifier ou à utiliser de l’information en mémoire à l’aide de variables, après
avoir écrit vos premiers programme à l’aide des instructions conditionnelles, vous allez apprends dans cette leçon les
boucles. Vous serez alors prêts à écrire du code capable de résoudre la majorité des problèmatiques !

OBJECTIFS de ce cours

➢ Maîtriser les méthodes piliers de l’algorithmie :


• Les boucles répétitives finies FOR
• Les boucles ou instructions répétitives WHILE
. Savoir différencier FOR et WHILE
. Savoir éviter LE risque : l’infinité !

RAPPEL : une obligation, les commentaires


N’importe quel programme doit être lu par n’importe quel programmateur. Même si ce n’est pas le créateur du
programme.
N’importe quel programme doit pouvoir être repris, amélioré n’importe quand. Même plusieurs semaines ou
plusieurs mois après avoir été écrit.
Il est donc INDISPENSABLE de rajouter des commentaires qui n’infuent pas sur le fonctionnement du
programme mais qui le rend lisible de tous.
Bref, un commentaire n’est autre qu’un texte qui sera ignoré lors de l’exécution du programme .

Les commentaires en Python commencent par le symbole # lorsque si l’on veut en écrire sur une seule ligne.

Exemple :

# définir une variable de type entier


n = 5
# Affichage de la variable
print ("La valeur de n est:" , n)

Les commentaires en Python commencent par les 3 symboles « « « lorsque si l’on veut en écrire sur plusieurs
lignes. On ferme les lignes de commentaires à l’aide de la même suite de symboles « « «
Exemple :

"""
date: septembre 2019
Auteur: Toto l informaticien

"""

1
LES BOUCLES
1/ Les instructions répétitives ou boucles FOR

Lorsque l’on veut répéter une instruction ou un bloc de plusieurs instructions, on utilise une boucle.
Pour l’instant, nous nous limiterons aux boucles dont on connaît le nombre de répétions à l’avance : les
instructions répétitives ou boucles FINIES « for » :

Comprenons cette façon de penser par l’exemple :

Pour écrire un programme qui permet d’écrire tous les chiffres entre 0 et 9, on peut suivre la méthode suivante :

Créer une variable « rang » de type entier « int »


Affecter zéro (la valeur initiale) à la variable « rang »
Répéter 10 fois :
➢ Afficher le contenu de la variable « rang »
➢ Augmenter la valeur du rang de 1

Le « pour » ou « for » s’écrit pour tout programmeur Python ainsi :

for compteur in range(_,_,_) :


bloc d’instruction(s)

La fonction range permet créer un compteur du nombre de répétions à


effectuer selon la syntaxe suivante :

La méthode de l’exemple précédent se traduira en python ainsi :


(tester le code)

2
2/ Les boucles conditionnelles ou boucles WHILE ou boucle TANT QUE

Qu’est-ce ?
Il s’agit de boucles FINIES dont on ne connaît pas le nombre de répétition d’actions.
La séquence d’instructions (actions) incluse dans la boucle va s’exécuter n fois jusqu’à ce qu’une condition (un
test) de sortie indique à l’ordinateur de sortir de la boucle.
ATTENTION, par défaut, la boucle se poursuit TANT QUE la condition de sortie est VRAIE (c’est un booléen !)
En langage naturel (encore appelé PSEUDO-CODE), toute boucle While s’écrit ainsi,
Tant que TEST vrai
Faire les Instruction(s)

Elle se traduit en langage Python ainsi,


While test : # tant que le test (boolean) est vrai
Instruction 1 # les instructions indentées sont exécutées
Instruction 2 (cf. cours précédent)

Exemple :
# écrire à l’écran 3 fois « bonjour »
n =3 # choix du nombre de répétitions
compteur = 0 # initialisation d’un compteur
while compteur < n # tant que compteur est strictement inférieur au nombre d’itérations voulues
print (‘Bonjour’) # écrire à l’écran « Bonjour »
compteur = compteur+1 # à chaque affichage, on incrémente le compteur de +1

ATTENTION : à éviter ! Les boucles INFINIES (qui ne s’arrêtent JAMAIS !)


Exemple :
# comme i vaut toujours zéro alors l’ordinateur écrira sans cesse « je ne m’arrêterai jamais ! »
i=0
while i<5 :
print(‘je ne m’arrêterai jamais !’)

Evidemment c’est le cas à éviter à tout prix, en tant que programmeur, sinon l’ordinateur va répéter SANS arrêt
les actions prévus par la boucle. On dit que la boucle n’a pas de TERMINAISON. L’ordinateur ne fait plus que
çà. Bref, il faut arrêter le programme par un moyen ou un autre :

3
➢ Débrancher l’ordinateur (pas recommandé du tout)
➢ Arrêter l’éxécution du prgramme grâce à une fonction de l’IDE : c’est mieux

➢ Prévoir dans le programme que lorsque le cas se présente, l’ordinateur arrête la boucle et indique à
l’utilisateur qu’il n’arrive pas à s’en sortir, du fait d’une boucle infinie ! On appelle cela dans le jargon
informatique, la gestion des INTERRUPTIONS. C’est le mieux mais un peu complexe à notre niveau de
première.

Remarque 1 :
On écrit bien « while test », et non « while test == True » qui est un pléonasme informatique ! Voir
le cours sur les booléens.

Remarque 2:
Trop de programmateurs utilisent l’instruction break pour sortir d’une boucle While ou For ou même d’un if !
Cette instruction est à éviter autant que possible, pour des raisons de bonnes pratiques de programmation. Vous
serez considérer comme un mauvais programmateur. En effet, elle rend les programmes moins lisibles, et surout,
elle est source d’erreurs difficiles à corriger. A vous de trouver un autre algorithme qui résoud le problème sans
« break ».

Au lycée, elle vous est même interdite d’usage. Vous devez néanmoins savoir qu’elle existe.

EXERCICES D’ENTRAINEMENT
Ex 1. Ecrire un programme qui lit une valeur et affiche sa table de multiplication (on se limitera aux 12 premiers
termes)
Faire une variante du programme précédent qui affiche la table de multiplication de tous les chiffres compris
entre 2 et 9 (inclus).
Remarque : Pensez à laisser un espace entre deux tables de multiplication (print() imprime une ligne
vide).

Ex 2. Écrire un programme qui affiche un triangle rempli d'étoiles (*) sur un nombre de lignes
donné passé en paramètre, exemple : *
• 1ère version : à l’aide de deux boucles for, en imprimant les * une par une. On remarquera **
que, par défaut dans l’instruction « print », figure end = ‘\n’, qui fait passer à la ligne. ***
print(…, end =’’) ne fera donc pas passer à la ligne. De même, end = ‘ lol ‘ vous fera ****
passer pour utilisateur standard de facebook *****
• 2ème version : avec une seul boucle for, et une chaîne de caractères où vous accumulerez ******
*******
des étoiles (pour ceux qui vont un peu plus vite, print(« machin » end= ‘’) évite de
********
passer à la ligne.

Ex 3. Ecrire un programme qui est capable de calculer la moyenne d’un coureur à pied. Le programme
demandera au préalable le nom, le prénom et l’âge du coureur. Il lui demandera aussi la durée de sa course
(en heure,minutes,secondes) et la distance parcourue (en km). La vitesse moyenne de sa course s’affichera
alors en km/h et en m/s.
Le programme demandera si l’on veut refaire un calcul de moyenne jusqu’à ce que l’on veuille arrêter.

N’oubliez pas de nommer votre fichier et de l’enregister régulièrement.

Vous aimerez peut-être aussi