0% ont trouvé ce document utile (0 vote)
44 vues65 pages

Informatique 2

Ce document présente les bases du langage Python. Il aborde les notions de variables, types de données, opérateurs, structures de contrôle et d'autres concepts fondamentaux de Python.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
44 vues65 pages

Informatique 2

Ce document présente les bases du langage Python. Il aborde les notions de variables, types de données, opérateurs, structures de contrôle et d'autres concepts fondamentaux de Python.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 65

Faculté des Sciences El Jadida

Informatique 2 :
Algorithmique 2/Python

MIP – S2 Pr. Souad EL HOUSSAINI 2023-2024


Plan
1
Rappels (Types de base, variables, opérateurs, structures de contrôle,..)
2
Les fonctions et les procédures
3
La récursivité
4
Les tableaux (Listes, chaînes de caractères)
5
Les types composés (Tuples, Dictionnaires)
6
Les fichiers
1 Instructions élémentaires
Rappels
Introduction

Notion de Variable

Types de données de base

Opérateurs

Les entrées/sorties 3
1 Instructions élémentaires
Rappels
Introduction

o Le langage utilisé par l’ordinateur pour traiter les informations est le langage
binaire (constitué par une suite de 0 et 1) directement compréhensible par la
machine. Ce langage est appelé : langage machine (Langages de bas niveau).

o Il est très difficile à l’utilisateur de programmer en langage machine, c’est


pourquoi des langages dis évolués ont été créés (pascal, C, C++, Basic, Java,
Python…) (Langages de haut niveau).

o Un compilateur ou interpréteur est nécessaire pour traduire un programme


écrit en un langage évolué en langage machine.

4
1 Instructions élémentaires
Rappels
Langage Python
o Python est un langage de programmation développé depuis 1989 par Guido van
Rossum et de nombreux contributeurs bénévoles.

o En février 1991, la première version publique, numérotée 0.9.0.


o La dernière version de Python est la version 3, ce cours est basé sur cette version.

5
1 Instructions élémentaires
Rappels
Pourquoi apprendre le langage Python

o Simplicité : Python a une syntaxe simple et claire et qui est facile à apprendre et à comprendre.
o Multi-plateforme : Python peut être exécuté sur de nombreuses plateformes différentes, y
compris Windows, MacOS et Linux, sans nécessiter de modification du code.
o Multitude d'utilisations : Python est utilisé dans de nombreuses applications telles que la
science des données, la programmation Web, la création de scripts et l'Intelligence Artificielle .
o Grande communauté et bibliothèques : Python a une grande communauté active de
développeurs qui contribuent à de nombreuses bibliothèques et outils pour faciliter le
développement.
o Dynamiquement typé : tout objet manipulable par le programmeur possède un type bien défini
à l'exécution, qui n'a pas besoin d'être déclaré à l'avance.
6
1 Instructions élémentaires
Rappels
Environnement de développement intégré (IDE)
o Un IDE est un logiciel de création d'applications, qui se compose habituellement des
éléments suivants :
o Éditeur de code source
o Compilateur ou interpréteur
o Débogueur

o L’installation de Python génère l’installation d’une interface, appelée IDLE (Python’s


Integrated Development and Learning Environment)
o Cette interface vous permet de saisir des instructions en ligne de commande mais
également d’exécuter des programmes Python enregistrés dans des fichiers (ayant
l’extension .py. Exemple: premierExemple.py)

Démonstration 7
1 Instructions élémentaires
Rappels
Structures d’un algorithme

L'algorithme doit avoir une structure bien définie. Cette structure doit comporter :

 L'en-tête qui comprend le nom de l'algorithme pour identifier l'algorithme.

 Les déclarations des données (variables et des constantes).

 Le corps de l'algorithme qui contient les instructions.

8
1 Instructions élémentaires
Rappels
Structures d’un algorithme
Algorithme nom_algo

/*déclaration des variables et des constantes*/


Déclaration
Constantes : déclaration des constantes
des données
Syntaxe générale

Variables : déclaration des variables

Début

Iinstruction1

Instruction 2
Traitement
Suite d’instructions &
Instruction 3
Résultats
… …

Instruction n

Fin 9
1 Instructions élémentaires
Rappels
Variables et Constantes
o Une variable est un objet dont le contenu (sa valeur) peut être modifié par une action.

o Toute variable utilisée dans un programme doit être l’objet d’une déclaration préalable .
o En pseudo-code, la déclaration de variables est effectuée par la forme suivante :

Variables liste d'identificateurs : type

Exemples:

Variables i, j, k : Entier
x, y : Réel
OK: Booléen
C1, C2 : Caractère
10
1 Instructions élémentaires
Rappels
Variables et Constantes
o Une constante est un objet dont l'état reste inchangé durant toute l'exécution d'un
programme. On ne peut jamais modifier sa valeur et celle-ci doit donc être précisée lors
de la définition de l'objet.

o Par convention, les noms de constantes sont en majuscules;


o Une constante doit toujours recevoir une valeur dès sa déclaration;
o En pseudo-code, la déclaration des constantes est effectuée par la forme suivante :
Const identificateur=valeur : type

Exemple:

Const PI=3.14 : réel


11
1 Instructions élémentaires
Rappels
Types de données de base

Les types les plus utilisés sont :


 entier pour manipuler des entiers,
 réel pour manipuler des nombres réels,
 booléen pour manipuler des valeurs booléennes vrai ou faux,
 caractère pour manipuler des caractères alphabétiques et numériques,
 chaîne pour manipuler des chaînes de caractères permettant de représenter des mots ou
des phrases.

12
1 Instructions élémentaires
Rappels
Syntaxe en Python

o Les variables en Python peuvent être de l'un des types suivants:


 bool : booléen (True ou False)
 int : entier
 float : nombre flottant qui a la précision d'un double (noté avec un point décimal).
 str : chaîne de caractère (string).

13
1 Instructions élémentaires
Rappels
Opérateurs
 Opérateurs arithmétiques
Opérateur Fonction Exemple Langage Python

+ Addition X+Y +

- Soustraction X-Y -

* Multiplication X*Y *

/ Division X/Y / : division ; //division entière


6/41.5 ; 6//41
^ Puissance 2^3 ** : exemple 2**38

mod Reste division 17 mod 5 (=2) % : 17%52

14
1 Instructions élémentaires
Rappels
Opérateurs
 Opérateurs de comparaison
Opérateur signification Langage Python

= Egal ==

<> Différent !=

< Strictement inférieur <

> Strictement supérieur >

<= Inférieur ou égal <=

>= Supérieur ou égal >=

15
1 Instructions élémentaires
Rappels
Opérateurs
 Opérateurs logiques

Opérateur signification Langage Python

NON Non logique not

OU Ou inclusif or

ET Et logique and

16
1 Instructions élémentaires
Rappels
Instructions d’entrées-sorties: lecture et écriture
 Instruction d’entrées: Lecture

Définition
o L'instruction de lecture permet à l'utilisateur de rentrer une valeur au clavier pour
qu'elle soit stockée dans une variable.
Syntaxe
o On écrit l'instruction de lecture de cette façon : Lire (nom_de_variable).

N.B : On peut lire plusieurs valeurs dans une seule instruction en utilisant la virgule.
Exemples :
• Lire (Note)
• Lire (Note1,Note2)
17
1 Instructions élémentaires
Rappels
Instructions d’entrées-sorties: lecture et écriture
Syntaxe en Python

 Saisie de données

o Pour permettre à l’utilisateur d’un programme de saisir la valeur d’une variable x,


on utilise la fonction input() comme ceci :

x = input("saisir la valeur de x : ")

o ATTENTION : la variable saisie est toujours de type str. Pour la convertir en


nombre, il faut utiliser la fonction int()ou la fonction float() :

x = int(input("saisir la valeur de x : ")) 18


1 Instructions élémentaires
Rappels
Instructions d’entrées-sorties: lecture et écriture
 Instruction de sortie: Ecriture
Définition
o L'instruction d'écriture permet d'afficher à l'utilisateur des messages ou des résultats de calculs
sur l'écran.
Syntaxe
o Pour afficher la valeur d'une variable : Ecrire (nom_de_variable).
o Pour afficher un message : Ecrire ("message").
N.B : On peut afficher plusieurs messages et valeurs des variables dans une seule instruction.
Exemples :
Ecrire ('Donner la note : ')
Lire (Note)
Ecrire ("Votre note est : ", Note, " Merci !") 19
1 Instructions élémentaires
Rappels
Instructions d’entrées-sorties: lecture et écriture
Syntaxe en Python
 Affichage de données
o La fonction print() de Python est souvent utilisée pour afficher des variables et des chaînes de
caractères.
o La fonction d’écriture standard print([objet1 , objet2 , ..., objetn], [sep =’ ’], [end =’ \n’ ]) :
 affiche la représentation textuelle des objets objeti ;
 les objets sont séparés par la chaîne sep, par défaut un espace;
 se termine par la chaîne end, par défaut \n.
>>> jj, mm, aa = 26, 02, 2024
o Pour afficher la valeur d’une variable x, on écrit : >>> print(jj, mm, aa, sep = ’/’)
print(x) 26/02/2024

o Pour afficher plusieurs valeurs, on les sépare par une virgule :


print(a,b,c,....) 20
1 Instructions élémentaires
Rappels
Syntaxe en Python
o En Python, il n’est pas nécessaire de déclarer le type d’une variable avant de lui
affecter une valeur (il est déterminé dynamiquement à l’exécution), mais
ATTENTION à ne pas utiliser une variable à laquelle on a affecté aucune valeur :

21
1 Instructions élémentaires
Rappels
Syntaxe en Python
 Bloc d’instruction
o En Python, chaque instruction s'écrit sur une ligne sans mettre d'espace au début.
Exemple:

a = 10
b=3
print(a, b)
o Ces instructions simples peuvent cependant être mises sur la même ligne en les
séparant par des points virgules.
Exemple:

a = 10; b = 3; print(a, b)

 Le bloc d'instructions correspondant se fait par indentation des lignes (décalage).


 Une indentation s'obtient par le bouton tab (pour tabulation) ou bien par 4 espaces successifs .
 il ne faut pas mélanger espaces et tabulations. On utilisera soit l'un, soit l'autre.
 Une mauvaise indentation va provoquer des erreurs! 22
1 Exercices d’application
Rappels
Exemple de programme Python

#exemple de programme Python


x = float(input("La valeur de x: "))
y = float(input("La valeur de y: "))

print("x :",x)
print("y :",y)

test = ( x + y) / 2

print("Résultat :",test)

23
1 Exercices d’application
Rappels

Exercice 1
Écrire un algorithme et un programme en Python demandant à l’utilisateur de saisir son
nom, puis affichant le nom saisi.

24
1 Exercices d’application
Rappels
Solution

Algorithme nom
Variables name : chaîne de caractères
Début
Ecrire ("Quel est ton nom?") name = input("Quel est ton nom? ")
print ("Bonjour, ", name)
Lire (name)
Ecrire ("Bonjour, ",name)
Fin

25
1 Exercices d’application
Rappels

Exercice 2
Ecrire un algorithme et un programme en Python qui permet de :
• Saisir deux nombres entiers
• Les afficher
• Les permuter
• Afficher le résultat

26
1 Exercices d’application
Rappels
Solution 1

Algorithme deux_nombres_entiers
Variables x,y,t : entier
Début
x = int(input("x : "))
Ecrire (" x : ") y = int(input("y : "))
Lire (x) print ("x = ", x, ", y = ", y)
t = x
Ecrire (" y : ") x = y
Lire (y) y = t
print ("x = ", x, ", y = ", y)
Ecrire (" x = " , x , " , y = " , y)
t=x
x=y
y=t
Ecrire (" x = " , x , " , y = " , y)
Fin 27
1 Exercices d’application
Rappels
Solution 2

x = int(input("x : "))
y = int(input("y : "))
print ("x = ", x, ", y = ", y)
x,y=y,x
print ("x = ", x, ", y = ", y)
On peut échanger les valeurs
de deux variables d’un coup
(sans introduire de variable
auxiliaire)

28
1 Exercices d’application
Rappels

Exercice 3
Ecrire un algorithme et un programme en Python qui permet de Saisir trois notes d’un
étudiant et d’afficher leur moyenne.

29
1 Exercices d’application
Rappels
Solution 1

Algorithme trois_notes_moyenne
Variables x,y : entier
note1 = float(input("Entrer la note n°1: "))
moyenne : réel note2 = float(input("Entrer la note n°2: "))
Début note3 = float(input("Entrer la note n°3: "))
Ecrire (" Entrer la note n° 1 : ") moyenne = ( note1 + note2 + note3) / 3
Lire (note1)
print("La moyenne est : " , moyenne)
Ecrire (" Entrer la note n° 2 : ")
Lire (note2)
Ecrire (" Entrer la note n° 3 :" )
Lire (note3)

moyenne = (note1+note2+note3)/3

Ecrire (" La moyenne est : " , moyenne)


Fin
30
1 Exercices d’application
Rappels
Solution 2

note1 = float(input("Enter la note n°1: "))


note2 = float(input("Enter la note n°2: "))
note3 = float(input("Enter la note n°3: "))
moyenne = ( note1 + note2 + note3) / 3
print("La moyenne est : %.2f" % moyenne)

%.2f permet de formater une chaîne de caractères qui représente un nombre flottant avec
deux décimales
 Le "f" signifie que le nombre est de type flottant
 Le ".2" indique le nombre de décimales à afficher après la virgule
 Le "%" est utilisé pour définir le format de la chaîne de caractères. 31
1 Exercices d’application
Rappels
Solution 3

note1,note2,note3 = input("Enter trois notes : ").split()


moyenne = ( float(note1) + float(note2) + float(note3))/3
print("La moyenne est : %.2f" % moyenne)

32
1 Structures alternatives (conditionnelles/Tests)
Rappels
Définition

o Les instructions conditionnelles servent à n'exécuter une instruction ou une séquence


d'instructions que si une condition est vérifiée.

La condition peut être:


 Condition simple :
Exemples : a<2000; Moy<10;

 Condition Composée :
Exemples : (Moy>13) ET (Moy <= 16)

33
1 Structures alternatives (conditionnelles/Tests)
Rappels

Il existe différents types de traitements alternatifs :


1) Forme simple: SI_ALORS
2) Forme alternative : SI_ALORS_SINON

Algorithme Langage Python

Si Condition Alors if Condition :


Séquence1 Séquence1
Sinon else:

Séquence2 Séquence2
Finsi
Le bloc "else" est optionnel. 34
1 Structures alternatives (conditionnelles/Tests)
Rappels
Exemple d’application

Algorithme ValeurAbs Solution 1


Variable x : réel
x = float ( input (" Entrez un réel : " ))
Début
if x < 0 :
Ecrire(" Entrez un réel : " )
print ("la valeur absolue de ", x, "est:",-x)
Lire (x)
else :
Si x < 0 alors
print ("la valeur absolue de ", x, "est:", x)
Ecrire ("la valeur absolue de ", x, "est:",-x)
Sinon Solution 2
Ecrire ("la valeur absolue de ", x, "est:", x)
Finsi x = float ( input (" Entrez un réel : " ))

Fin print ("la valeur absolue de ", x, "est:", abs(x))


35
1 Structures alternatives (conditionnelles/Tests)
Rappels
Structures alternatives imbriquées
Les tests peuvent avoir un degré quelconque d'imbrications.
Exemple1:
Algorithme Langage Python
Si condition1 alors if Condition1 :
Si condition2 alors if condition2 :
instructionsA
Sinon instructionsA
instructionsB else:
Finsi
Sinon instructionsB
Si condition3 alors
else:
instructionsC
if condition3 :
Finsi
Finsi
instructionsC

else est associé avec le if le plus proche 36


1 Structures alternatives (conditionnelles/Tests)
Rappels
Structures alternatives imbriquées

Exemple 2 Algorithme Langage Python


if Condition1 alors if Condition1:
instruction 1 instruction 1
instruction 2 instruction 2
instruction 3 instruction 3
.
instruction n .
instruction n
SinonSi Condition2 alors
bloc_instructions elif Condition2:
Sinon bloc_instructions
autre_bloc_instructions else :
Finsi autre_bloc_instructions

n’oubliez pas le double point !


n’oubliez pas l’indentation ! 37
1 Structures alternatives (conditionnelles/Tests)
Rappels
Important en Python

o L'indentation dans les instructions if/elif/else en Python sert à délimiter les blocs
de code qui seront exécutés si la condition est vraie ou fausse.

o Les instructions indentées après if/elif/else font partie de ces blocs, tandis que les
instructions non-indentées n'en font pas partie.

o Respecter une bonne indentation dans les instructions if/elif/else est essentiel pour
obtenir un code fonctionnel et éviter des erreurs de syntaxe.

o Il est recommandé d'utiliser des espaces plutôt que des tabulations pour
l'indentation en Python, car cela évite les problèmes de mise en forme et facilite la
lisibilité du code.
38
1 Structures alternatives (conditionnelles/Tests)
Rappels

Exemple d’application

Ecrire un algorithme et un programme en Python qui demande à l’utilisateur de saisir un


numéro de jour de la semaine et affiche ensuite le jour correspondant.

39
1 Structures alternatives (conditionnelles/Tests)
Rappels Algorithme nomJour
Variable n : Entier
Début n = int ( input (" Entrez un nombre entier : " ))
Ecrire ("Entrez un nombre entier : ") if n == 1 :
Lire (n)
Solution 1 Si (n=1) Alors
print ("Lundi")
Ecrire ("Lundi") elif n==2 :
Sinon Si (n=2) Alors print ("Mardi")
Ecrire ("Mardi") elif n==3 :
Sinon Si (n=3) Alors print ("Mercredi")
Ecrire ("Mercredi") elif n==4 :
Sinon Si (n=4) Alors print ("Jeudi")
Ecrire ("Jeudi") elif n==5 :
Sinon Si (n=5) Alors print ("Vendredi")
Ecrire ("Vendredi")
elif n==6 :
Sinon Si (n=6) Alors
Ecrire ("Samedi") print ("Samedi")
Sinon Si (n=7) Alors elif n==7 :
Ecrire ("Dimanche") print ("Dimanche")
Sinon else :
Ecrire ("Jour inexistant ") print ("Jour inexistant")
Finsi 40
Fin
1 Structures alternatives (conditionnelles/Tests)
Rappels
L’instruction match
Algorithme Langage Python
o Jusqu’à sa version Python 3.9 (2020-10-05),
Selon variable match variable:
le langage python n’a pas l’instruction qui
Cas1:
est équivalente à l’instruction Selon..Cas case cas1:
#Traitement à faire
#Traitement à faire
o Avec la version Python 3.10 (2021-10-04), Cas2:
case cas2:
La communauté de python a ajouter une #Traitement à faire
nouvelle instruction appelée match. …….. #Les autres cas
#Traitement à faire
…….. #Les autres cas
Sa syntaxe est la suivante : Sinon :
case _:
#Traitement à faire
#Traitement à faire
FinSelon

41
1 Structures alternatives (conditionnelles/Tests)
Rappels
n = int ( input (" Entrez un nombre entier : " ))
Algorithme nomJour match n :
Variable n : Entier
Solution 2 Début
case 1:
Ecrire ("Entrez un nombre entier : ") print ("Lundi")
Lire (n) case 2:
Selon n print (" Mardi ")
1 : Ecrire ("Lundi") case 3:
2 : Ecrire ("Mardi") print (" Mercredi ")
3 : Ecrire ("Mercredi") case 4:
4 : Ecrire ("Jeudi") print (" Jeudi ")
5 : Ecrire ("Vendredi") case 5:
6 : Ecrire ("Samedi") print (" Vendredi ")
7 : Ecrire ("Dimanche") case 6:
Sinon : Ecrire ("Jour inexistant") print (" Samedi ")
FinSelon case 7:
Fin print (" Dimanche ")
case _:
print ("Jour inexistant") 42
1 Exercices d’application
Rappels

Exercice 1
Ecrire un algorithme et un programme en Python qui permet de lire deux nombres
entiers. et déterminer s’ils sont rangés ou non par ordre croissant et, dans tous les cas, il
affiche leur différence (entre le plus grand et le plus petit).

43
1 Exercices d’application
Rappels
Solution en Algorithme

Algorithme rang_2nombres
Variable a,b : entier
Début
Ecrire (" Entrer deux nombres entiers positifs: ")
Lire (a,b)
Si (a<b) alors
Ecrire (" Les nombres sont rangés par ordre croissant")
Ecrire (" La différence entre les nombre est de:“, b-a)
Sinon
Ecrire (" Les nombres ne sont pas rangés par ordre croissant ")
Ecrire (" La différence entre les nombre est de:“, a-b)
Finsi
Fin
44
1 Exercices d’application
Rappels
Solution en Python

# Lecture des deux nombres entiers


a = int(input("Entrez le premier nombre : "))
b = int(input("Entrez le deuxième nombre : "))
# Détermination de l'ordre croissant
if a < b:
print("Les nombres sont rangés par ordre croissant")
else:
print("Les nombres ne sont pas rangés par ordre croissant")
# Calcul de la différence (abs : la valeur absolue)
diff = abs(a - b)
print("La différence entre les nombres est de", diff)

45
1 Exercices d’application
Rappels

Exercice 2
• Ecrire un algorithme et un programme en Python qui lit un entier représentant un mois
de l’année (1 pour janvier, 4 pour avril...) et qui affiche le nombre de jours de ce mois
(on supposera qu’on n’est pas en présence d’une année bissextile).
• On tiendra compte du cas où l’utilisateur fournit un numéro incorrect, c’est-à-dire non
compris entre 1 et 12.

46
1 Exercices d’application
Rappels
Solution en Algorithme

Algorithme nb_jours_mois
Variable mois, nb_jours : Entier
Début
Ecrire ("Entrez le numéro du mois (1-12) : ")
Lire (mois)
Si (mois=2) Alors
nb_jours=28
Sinon Si (mois=4) ou (mois=6) ou (mois=9) ou (mois=11) Alors
nb_jours=30
Sinon Si (mois=1) ou (mois=3) ou (mois=5) ou (mois=7) ou (mois=8) ou (mois=10) ou (mois=12) Alors
nb_jours=31
Sinon
Ecrire (" Numéro de mois incorrect. ")
Finsi

Ecrire (" Le mois numéro ",mois, "a " ,nb_jours, "jours. ")
Fin 47
1 Exercices d’application
Rappels
Solution 1 en Python

mois = int(input("Entrez le numéro du mois (1-12) : "))

if mois == 2:
nb_jours = 28
elif mois == 4 or mois == 6 or mois == 9 or mois == 11:
nb_jours = 30
elif mois == 1 or mois == 3 or mois == 5 or mois == 7 or mois
== 8 or mois == 10 or mois == 12:
nb_jours = 31
else:
print("Numéro de mois incorrect.")
exit()

print("Le mois numéro {} a {} jours.".format(mois, nb_jours))


48
1 Exercices d’application
Rappels
Solution 2 en Python

mois = int(input("Entrez le numéro du mois (1-12) : "))

if mois == 2:
nb_jours = 28
elif mois in (4, 6, 9, 11):
nb_jours = 30
elif mois in (1, 3, 5, 7, 8, 10, 12):
nb_jours = 31
else:
print("Numéro de mois incorrect.")
exit()

print("Le mois numéro {} a {} jours.".format(mois, nb_jours))

49
1 Exercices d’application
Rappels

Exercice 3
Le prix de photocopies dans une reprographie varie selon le nombre demandé:
0,10 DH pour les 10 premières copies.
0,09 DH pour les 10 copies suivantes.
0,08 DH au-delà.
Ecrire un algorithme et un programme en Python qui demande à l’utilisateur le nombre
de photocopies effectuées, qui calcule et affiche le prix à payer.

50
1 Exercices d’application
Rappels
Solution en Algorithme Solution en Python

Algorithme Prix_Photocopies
Variables N, prix : Entier
N=int(input("Nombre photocopies:"))
Début
if N<=10 :
Ecrire ("Nombre de photocopies : ")
prix = N*0.1
Lire (N) elif N<=20 :
Si N <= 10 Alors prix = 10*0,1+(N-10)*0.09
prix ← N * 0,1 else:
SinonSi N <= 20 Alors prix = 10 * 0,1 + 10 * 0,09 + (N – 20) * 0,08
prix ← 10 * 0,1 + (N – 10) * 0,09
print("Le prix total est: %.2f" % prix)
Sinon
prix ← 10 * 0,1 + 10* 0,09 + (N – 20) * 0,08
FinSi
Ecrire ("Le prix total est: ", prix)
Fin
51
1 Structures répétitive ou itérative (boucles)
Rappels
Définition

o La structure répétitive permet de répéter une action ou une séquence d’actions tant
qu’une condition est vraie.
o Une structure répétitive est aussi appelée boucle.

Il existe trois types de structures itératives:


 La structure « POUR …… FAIRE »
 La structure « TANT QUE …… FAIRE »
 La structure « REPETER ... JUSQUA »

52
1 Structures répétitive ou itérative (boucles)
Rappels

o La structure « TANT QUE …… FAIRE »


• Le traitement est exécuté tant qu’une condition est vérifiée. Si dès le début cette
condition est fausse, le traitement ne sera exécuté aucune fois.
• Une boucle « TantQue » peut s’exécuter 0, 1 ou n fois.
o La structure « REPETER ... JUSQUA »
• La séquence d’instructions est exécutée une première fois, puis l’exécution se répète
jusqu’à ce que la condition de sortie soit vérifiée.
• Une boucle « répéter » s’exécute toujours au moins une fois.
o La structure « POUR …… FAIRE »
• Cette structure consiste à répéter un certain traitement un nombre de fois fixé à
l’avance en utilisant une variable de contrôle (compteur) d’itérations caractérisée par :
sa valeur initiale, sa valeur finale et son pas de variation. La progression se fait dans
l’ordre croissant ou décroissant.
• La structure Pour est utilisée impérativement lorsqu’on connaît à priori le nombre de
53
répétitions à effectuer.
1 Structures répétitive ou itérative (boucles)
Rappels
Syntaxe

Algorithme avec Algorithme avec Langage Python


Tant que…faire Répéter…Jusqu’à

Tant que (Condition) faire Répéter while condition :


instruction(s)
Instruction(s) Instruction(s)
Fin Tantque Jusqu’à (Condition)

54
1 Structures répétitive ou itérative (boucles)
Rappels

Exemple d’application

Ecrire un algorithme et un programme en Python qui demande à l’utilisateur une note


comprise entre 0 et 20 jusqu’à ce que la réponse convienne.

55
1 Structures répétitive ou itérative (boucles)
Rappels
Solution en Algorithme

Algorithme ControleSaisie
Variable note : réel ;
Début
Ecrire ("Donner la note :") ;
Lire(note) ;
Tantque ((note<0) ou (note>20)) faire
Ecrire("Erreur de saisie") ;
Ecrire ("Donner la note :") ;
Lire(note) ;
Fin TantQue
Ecrire (" La saisie est correcte:" , note) ;
56
Fin
1 Structures répétitive ou itérative (boucles)
Rappels
Solution 1 en Python Solution 2 en Python

note=float(input("Donner la note:"))
note=input("Donner la note:")
note=float(note)
while (True):
while note<0 or note>20 :
if note<0 or note>20 :
print("Erreur de saisie")
print("Erreur de saisie")
note=input("Donner la note:")
note=float(input("Donner la note:"))
note=float(note)
else:
print ("La saisie est correcte:" , note) ;
print ("La saisie est correcte:", note)
break

57
1 Structures répétitive ou itérative (boucles)
Rappels
Syntaxe

Algorithme avec Langage Python


Pour…faire

for variable in liste_valeurs :


Pour compteur ← initiale jusqu’à finale pas ValeurPas Faire Instruction(s)
Instruction(s)

Fin Pour

58
1 Structures répétitive ou itérative (boucles)
Rappels

Exemple d’application

Ecrire un algorithme et un programme en Python qui permet d'afficher le message


"Bonjour" 100 fois.

59
1 Structures répétitive ou itérative (boucles)
Rappels Solution
Algorithme Programme Python
Algorithme Bonjour
Variable i : Entier for i in range(1,101) :
Début print("Bonjour")
Pour i ← 1 jusqu’à 100 Faire
Ecrire ("Bonjour")
Fin Pour
Fin

Remarque :
 Vous pouvez utiliser la boucle for pour parcourir une séquence de nombres à l'aide
de la fonction range intégrée.
 range() c’est une fonction qui permet de créer une liste d’entier en Python.

60
1 Structures répétitive ou itérative (boucles)
Rappels
La fonction range
o La fonction range renvoie une séquence de nombres, commençant par 0 par défaut et incrémentée
de 1 (par défaut), et s’arrête avant un nombre spécifié. Syntaxe : range(start, stop, step) avec :
• start (facultatif) : Un nombre entier spécifiant à quelle position commencer. La valeur par
défaut est 0.
• stop (requis) : Un nombre entier spécifiant à quelle position s’arrêter (non inclus).
• step (facultatif) : Un nombre entier spécifiant l’incrémentation. La valeur par défaut est 1.

Exemples :
range(6) représente la liste des valeurs : 0,1, 2, 3, 4, 5
range (1,6) représente la liste des valeurs : 1, 2, 3, 4, 5
range (1, 6,1) représente la liste des valeurs : 1, 2, 3, 4, 5
range (1,6, 2) représente la liste des valeurs : 1,3,5
61
1 Structures répétitive ou itérative (boucles)
Rappels
Attention aux boucles infinies
1) Une des instructions du corps de la boucle (TantQue et Répéter) doit absolument
changer la valeur logique de la condition (après un certain nombre d'itérations),
sinon le programme tourne indéfiniment.
2) Il faut éviter de modifier la valeur du compteur (et de finale) à l'intérieur de la
boucle. En effet, une telle action présente le risque d'aboutir à une boucle infinie.
Exemples des boucles infinies :

Pour i ← 1 jusqu’à 10 Faire i←2 i←1


Ecrire(" i = " , i) Tant Que (i > 0) Faire Répéter
i ← i -1 i ← i+1 Ecrire(" i = " , i)
Fin Pour Fin Tant Que i ← i -1
Jusqu’à (i > =10)
62
1 Structures répétitive ou itérative (boucles)
Rappels
Instructions d'échappement
Pour rompre le déroulement séquentiel d'une suite d'instructions

BREAK: permet d’arrêter le déroulement de la CONTINUE : permet l’abandon de l’itération courante et le


boucle (for ou while) et le passage à l’instruction qui passage à l’itération suivante
la suit.
for n in range(1, 11):
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
if n % 2 == 1: # si le nombre est impair
search_number = 7
continue # passer à l'itération suivante sans afficher le nombre
for n in numbers:
print(n)
if n == search_number: # si le nombre est trouvé
print("Nombre trouvé !")
break # sortir de la boucle
print("Fin de la recherche.")
63
1 Exercices d’application
Rappels

Exercice
Ecrire un algorithme et un programme en Python qui demande un nombre de
départ, et qui ensuite écrit la table de multiplication de ce nombre, présentée
comme suit (cas où l'utilisateur entre le nombre 7) :
Table de 7 :
• 7x1=7
• 7 x 2 = 14
• 7 x 3 = 21
• …
• 7 x 10 = 70

64
1 Exercices d’application
Rappels
Solution

Algorithme Table_Multiplication
Variables b, i : Entiers
Début nombre = int(input("Entrez un nombre : "))
Ecrire (“Entrer une valeur : “) print("Table de multiplication de", nombre, ":")
Lire (b)
Pour i allant de 1 à 10 faire for i in range(1, 11):
resultat = nombre * i
Ecrire (b, “X”, i, “=”, b * i) print(nombre, "x", i, "=", resultat)
Ecrire (“\n”)
FinPour
Fin

65

Vous aimerez peut-être aussi