Vous êtes sur la page 1sur 22

Algorithmique et Python

Pr. GABLI MOHAMMED


medgabli@yahoo

MIP + Actuariat
FS-Oujda

2023-2024
Algorithmique et Python
PLAN
• Introduction à l'algorithmique
• Instructions élémentaires (Variable, E/S, …)
• Structures conditionnelles
• Structures répétitives
• Tableau
• Algorithmes de tri et de recherche
• Initiation au langage Python
11/10/2023 GABLI - 2023 2
Cours, TD et TP

Voir les deux sites:


1. https://sites.google.com/ump.ac.ma/gabli
2. http://scolarite.ump.ma/login
Instructions répétitives (Les boucles)

• Les boucles servent à répéter l'exécution d'un groupe


d'instructions un certain nombre de fois.
• On distingue trois sortes de boucles :
1. Les boucles Tant que : on répète des instructions tant
qu'une certaine condition est réalisée.
2. Les boucles Répéter …. jusqu'à : on répète des instructions
jusqu'à ce qu'une certaine condition soit réalisée.
3. Les boucles Pour : on répète des instructions en faisant
évoluer un compteur (variable particulière) entre une valeur
initiale et une valeur finale.

11/10/2023 GABLI - 2023 4


L’instruction TantQue

TantQue condition Faire


Instructions;
Non
FinTantQue Condition

Oui

Instructions

Sortie de la boucle

11/10/2023 GABLI - 2023 5


Exemple
Algorithme: Boucle1
Variables: a: entier

Début
a 0;
TantQue a<10 Faire
Ecrire («entrer un entier »);
Lire (a);
Ecrire(« Le nombre entré est: », a);
FinTantQue
Fin
11/10/2023 GABLI - 2023 6
Exercice
1. Ecrire un algorithme qui demande un nombre
compris entre 10 et 20, jusqu’à ce que la réponse
convienne.
2. Modifier l’algorithme précédent:
En cas de réponse supérieure à 20, on fera
apparaître un message : « Plus petit ! », et
inversement, « Plus grand ! » si le nombre est
inférieur à 10.

11/10/2023 GABLI - 2023 7


Réponse
Algorithme saisir
Variables: N Entier
Debut
N←0
TantQue N < 10 ou N > 20 Faire
Ecrire "Entrez un nombre entre 10 et 20"
Lire N
Si N < 10 Alors
Ecrire "Plus grand !"
SinonSi N > 20 Alors
Ecrire "Plus petit !"
FinSi
FinSi
FinTantQue
Fin

11/10/2023 GABLI - 2023 8


Remarques
• Le nombre d'itérations dans une boucle TantQue
n'est pas connu au moment d'entrée dans la boucle.

• Il faut méfier toujours à ajouter une instruction qui


change absolument la valeur de la condition de vrai à
faux (après un certain nombre d'itérations), sinon le
programme va tourner indéfiniment.
• Exemple …

11/10/2023 GABLI - 2023 9


Remarques

• Exemple …

Algorithme Test1 Algorithme Test2


Variables: N Entier Variables: N Entier
Debut Debut
N←1 N←1
TantQue N > 0 Faire TantQue N < 10 Faire
N ← N+1
N ← N+1
FinTantQue
FinTantQue
Fin
Fin

11/10/2023 GABLI - 2023 10


L’instruction Répéter…Jusqu’à

Répéter
Instructions;
Jusqu’à condition Instructions

Non
Condition

Oui

Sortie de la boucle

11/10/2023 GABLI - 2023 11


L’instruction Répéter…Jusqu’à

• La condition est évaluée après chaque


itération;
• les instructions sont Instructions

exécutées au moins
Non
Une fois. Condition

Oui

Sortie de la boucle

11/10/2023 GABLI - 2023 12


Exemple 1
Algorithme: Boucle2
Variables: a: entier

Début
Répéter
Ecrire («entrer un entier »);
Lire (a);
Ecrire(« Le nombre entré est: », a);
Jusqu’à a<10
Fin
11/10/2023 GABLI - 2023 13
Exemple 2
Algorithme: SommeDe1a20
Variables: i, somme : entier
Début
i ← 1;
somme ← 0 ;
Répéter
somme ← somme + i ;
i←i+1;
Jusqu’à i > 20
Ecrire(« la somme est : », somme);

Fin
11/10/2023 GABLI - 2023 14
L’instruction Pour…

Pour compteur borne1 à borne2 par pas Faire


Instructions;
FinPour
• Pas est par défaut égal à 1
Pour compteur borne1 à borne2 Faire
Instructions;
FinPour

11/10/2023 GABLI - 2023 15


L’instruction Pour…

• Compteur est une variable de type entier (ou


caractère).
• Pas est un entier qui peut être positif ou négatif. Pas
peut ne pas être mentionné, car par défaut sa valeur
est égal à 1.
• borne1 et borne2 peuvent être des valeurs, des
variables définies avant le début de la boucle ou des
expressions de même type que compteur

11/10/2023 GABLI - 2023 16


Exemple
Algorithme: Boucle3
Variables: i, somme: entiers

Début
somme 0;
Pour i 1 à 10 Faire
somme somme + i;
FinPour
Ecrire(« La somme est: », somme);
Fin

11/10/2023 GABLI - 2023 17


Instructions répétitives (Les boucles)

• Si le nombre d’itération n’est pas connu à l’avance

• Utiliser: Tant que


• Utiliser Répéter … Jusqu’à
• la séquence d'instructions est exécutée au moins une
fois dans la boucle Répéter … jusqu'à, alors qu'elle peut
ne pas être exécutée dans le cas du Tant que

• Si le nombre d’itération est connu à l’avance

Utiliser: Pour

11/10/2023 GABLI - 2023 18


Exercice
Ecrire un algorithme qui demande un nombre
de départ, et qui ensuite affiche les dix
nombres suivants. Par exemple, si l'utilisateur
entre le nombre 17, le programme affichera
les nombres de 18 à 27.

11/10/2023 GABLI - 2023 19


Réponse

Algorithme: Exercice1
Variables: N, i : Entiers
Debut

Ecrire "Entrez un nombre : "


Lire N
Pour i ← N + 1 à N + 10 Faire
Ecrire i

FinPour
Fin

11/10/2023 GABLI - 2023 20


Exercice
Ecrire un algorithme 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

11/10/2023 GABLI - 2023 21


Réponse

Algorithme: Table de multiplication


Variables N, i en Entier
Debut
Ecrire "Entrez un nombre : "
Lire N

Pour i ← 1 à 10 Faire
Ecrire (N, " x ", i, " = ", n*i)
FinPour
Fin

11/10/2023 GABLI - 2023 22

Vous aimerez peut-être aussi