Vous êtes sur la page 1sur 22

LES STRUCTURES DE

CONTRÔLE

Environnement de développement Python 3


introduction
2 Atef Boujelben

Les structures de contrôle sont les groupes d'instructions qui


déterminent l'ordre dans lequel les actions sont effectuées dans
le programme.

En programmation moderne, il en existe seulement trois : la


séquence, la sélection que nous allons décrire dans ce qui suit, et
la répétition.
Structures conditionnelles
3 Atef Boujelben

Syntaxe algorithmique:
Syntaxe python Si condition alors

 L’instruction if instruction1 ou suite


d'instructions1
 L’instruction if ..else Sinon

instruction2 ou suite
 L’instruction if .. elif
d'instructions2
Finsi
L’instruction if
4 Atef Boujelben

vrai
if condition :
instructions_si_vrai faux

if conditions :
and / or / not
instructions_si_vrai

if conditions : instructions_si_vrai
Le bloc if est comporte une seule
instruction : une seule ligne
L’instruction else
5 Atef Boujelben
vrai
if conditions :
instruction(s)_si _vrai faux

else :
instruction(s)_si_faux

if conditions : instruction
else : instruction

Attention à l’Indentation
L’instruction elif
6 Atef Boujelben

 C’est l’instruction else : if


Opérateurs de comparaison(1)
7 Atef Boujelben

La condition évaluée après l'instruction «if» peut contenir les


opérateurs de comparaison suivants :

x == y # x est égal à y (deux signes « égale » et non d'un seul)


x != y # x est différent de y
x>y # x est plus grand que y
x<y # x est plus petit que y
x >= y # x est plus grand que, ou égal à y
x <= y # x est plus petit que, ou égal à y
Opérateurs de comparaison(2)
8 Atef Boujelben

Exemple :
a=8
if (a % 2 == 0):
print("a est pair")
print ("parce que le reste de sa division par 2 est nul")
else:
print ("a est impair")
L’indentation: exemple(1)
9 Atef Boujelben
 La solution proposée par un étudiant pour l’exemple précédant
est la suivant :

 Pas de begin et end

 Pas {…}

 Pas de FINSI

 En Python c’est l’indentation :


C’est l'ajout de tabulations à
une ligne (le retrait de la ligne
par rapport à la norme).
Structures itératives :
l'instruction while(1)
10 Atef Boujelben

Une des méthodes pour programmer les tâches répétitives est


l'instruction while.

Syntaxe python: Syntaxe algorithmique:


while (condition(s)): Tant Que (condition « s ») faire
Instruction(s) instructions
Fin Tant Que
Structures itératives :
l'instruction while(2)
11 Atef Boujelben

Exemple:
1. Entrer les commandes ci-dessous

a=0
while (a < 7): # (n'oubliez pas le double point !)
a = a + 1 # (n'oubliez pas l'indentation !)
print(a)

2. Frappez sur <Enter>

3. Que se passe-t-il ?
4. Changez la valeur a par 8
Structures itératives :
l'instruction while(3)
12 Atef Boujelben

Commentaires

1. Dans notre exemple, si la condition a < 7 est encore vraie, le


corps de la boucle est exécuté une nouvelle fois et le bouclage
se poursuit.
2. La variable évaluée dans la condition doit exister au préalable (Il
faut qu'on lui ait déjà affecté au moins une valeur)
Structures itératives :
l'instruction while(4)
13 Atef Boujelben

3. Si la condition est fausse au départ, le corps de la boucle n'est


jamais exécuté
4. Si la condition reste toujours vraie, alors le corps de la boucle est
répété indéfiniment.

Exemple de boucle infinie:

n=3
while n < 5:
print("hello !")
Structures itératives :
La Boucle For(1)
14 Atef Boujelben

La boucle for fonctionne sur les chaînes, les listes, les tuples et
d’autres objets issus de classes.

Elle commence par une ligne d’entête qui spécifie une cible
d’affectation, ainsi qu’un objet qui sera itéré .

Le for de Python affecte les objets de l’élément séquence à la


cible un par un.
Structures itératives :
La Boucle For(2)
15 Atef Boujelben

Syntaxe python:
for <cible> in <objet>:
<instructions>

Syntaxe algorithmique:
Pour compteur de initiale à finale par pas valeur du pas faire
instructions
FinPour

Si séquence possède n éléments, le bloc sera exécuté n fois, et la


variable référencera l’élément sequence[n-1] qui sera accessible
dans le bloc.
Structures itératives :
La Boucle For(3)
16 Atef Boujelben

Exemple:

>>> for i in "bonjour":


print(i)

b
o
n
j
o
u
r
Utilisation du break, continue,
pass
17 Atef Boujelben

Ces trois instructions permettent à l’utilisateur d’avoir un plus grand


contrôle de la boucle.
 L’instruction break permet de sortir de la boucle instantanément et
de passer à la suite.
 L’instruction « continue » saute au début de la boucle la plus
imbriquée.
 « pass » ne fait rien du tout mais, comme on ne peut avoir une
expression qui n’est suivie de rien, « pass » peut être utilisé pour
combler ce vide.
Exemple: break, continue,
pass
18 Atef Boujelben

s=0 s=0
for i in range(5): for i in range(5):
if (i>=1) and (i<=3): if (i>=1) and (i<=3):
s=s-i s=s-i
print("Dans if:i=",i,"s=",s) print("Dans if:i=",i,"s=",s)
continue break
print("avec continue") print("avec Break")
s=s+i s=s+i
print("i=",i,"s=",s) print("i=",i,"s=",s)

s=0
for i in range(5):
if (i>=1) and (i<=3):
s=s-i
print("Dans if:i=",i,"s=",s)
pass
print("avec pass")
s=s+i
print("i=",i,"s=",s)
Le Range(1)
19 Atef Boujelben

L’instruction range permet de créer une liste croissante d’entiers


successifs compris dans une certaine borne dépendant du nombre
de paramètres de l’instruction :
1 paramètre : entiers compris entre 0 et le paramètre
Syntaxe:
for i in range(a):
instructions
Le Range(2)
20 Atef Boujelben

2 paramètres : entier compris entre param1 et param2


Syntaxe:
for i in range(a,b):
instructions
3 paramètres : entier compris entre parm1 et param2 et de pas
param3
Syntaxe:
for i in range(a,b,c):
instructions
Le Range(3)
21 Atef Boujelben

Exemple1 :

range(5) désigne les entiers 0,1,2,3,4 (la borne prend par défaut 0)
range(1, 10) désigne les entiers 1, 2, 3, 4, 5, 6, 7, 8, 9
range(1, 11, 2) désigne les entiers 1, 3, 5, 7, 9
range(10, 0, -1) désigne les entiers 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
Le Range(4)
22 Atef Boujelben

Exemple2 :

for i in range(10,20,2):
print( i)

Ce qui donne: 10
12
14
16
18

Vous aimerez peut-être aussi