Académique Documents
Professionnel Documents
Culture Documents
Chapitre 2
Chapitre 2
Première Année
Carlos AGOSSOU
DOCTORANT EN INFORMATIQUE ET TELECOMS
Algorithme et Programmation
1
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms
Algorithme et Programmation
2
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms
Algorithme et Programmation
Remarques :
1. Il est important de respecter l’indentation au début de chaque ligne, car il
permet une meilleure lisibilité de l’algorithme.
2. Si l’expression logique (la condition) prend la valeur vrai, le premier bloc
d’instructions est exécuté;
3. Si elle prend la valeur faux, le second bloc est exécuté (s’il est présent, sinon,
rien).
4. Le « Sinon » n’est pas obligatoire. S’il n’est pas présent, aucune tâche ne sera
effectuée si la condition n’est pas remplie.
Exemples :
1. L’algorithme 2 permet de déterminer si un triangle ABC est rectangle en C.
2. L’algorithme 3 est un exemple d’algorithme calculant l’image d’un réel x par
la fonction f : x → (x+1)/(x−1) en respectant son ensemble de définition.
3
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms
Algorithme et Programmation
Début
Afficher (‘’Entrer la valeur de AB‘’)
Saisir (AB)
Afficher (‘’Entrer la valeur de AC‘’)
Saisir (AC)
Afficher (‘’Entrer la valeur de BC‘’)
Saisir (BC)
/*Traitement */
x ← AB^2
y ← (AC^2) + (BC^2)
Si x == y Alors
Afficher (‘’Le triangle ABC est rectangle en C‘’)
Sinon
Afficher (‘’Le triangle ABC n’est pas rectangle en C‘’)
Fin Si
Fin
Variables x, y : Réels
Début
Saisir(x)
/*Traitement */
Si x != 1 Alors
y ← (x + 1) / (x − 1)
Afficher(y)
Sinon
Afficher (‘’La valeur choisie n’est pas dans l’ensemble de définition‘’)
Fin Si
Fin
4
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms
Algorithme et Programmation
Exemple :
Algorithme DeterminerSigneDuNombre
/* Cet algorithme permet de déterminer le signe d’un nombre saisi par l’utilisateur */
Variable n : entier
Début
Afficher ("entrez un nombre : ")
Saisir (n)
Si n < 0 alors
Afficher ("Ce nombre est négatif")
Sinon
Si n == 0 alors
Afficher ("Ce nombre est nul")
Sinon
Afficher ("Ce nombre est positif")
Fin Si
Fin Si
Fin
Conseil : utiliser les tests imbriqués pour limiter le nombre de tests et placer
d'abord les conditions les plus probables
5
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms
Algorithme et Programmation
Selon abreviation
"M" : afficher( " Monsieur " )
"Mme" :afficher( " Madame " )
"Mlle" : afficher( " Mademoiselle " )
autres : afficher( " Monsieur, Madame " )
Fin Selon
Selon abreviation
"M" : afficher( " Monsieur " )
"Mme" :afficher( " Madame " )
"Mlle" : afficher( " Mademoiselle " )
autres : afficher( " Monsieur, Madame " )
Fin Selon
6
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms
Algorithme et Programmation
Remarques
La variable utilisée dans la boucle est appelée compteur. À chaque passage
dans la boucle, sa valeur est automatiquement augmentée de valeur_pas.
valeur_pas peut ne pas être mentionné, car par défaut sa valeur est égale à
1. Dans ce cas, le nombre d'itérations est égal à valeur_fin - valeur_depart +
1
L’instruction Pour:
o initialise une variable de boucle (le compteur)
o incrémente cette variable de la valeur de valeur_pas
o vérifie que cette variable ne dépasse pas la borne supérieure
7
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms
Algorithme et Programmation
Exemples :
1. L’algorithme 5 affiche la table de multiplication (de 0 à 10) d’un nombre
entier donné.
Algorithme 5 Table de multiplication
Variables n, m, i : Entiers
Début
Afficher (‘’Entrer un nombre :’’)
Saisir(n)
/* Traitement */
Pour i allant de 0 à 10 faire
m←n×i
Afficher( n , " x ", i , " = ", m)
Fin Pour
Fin
8
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms
Algorithme et Programmation
Remarque :
La condition (dite condition de contrôle de la boucle) est évaluée avant chaque
itération
Si la condition est vraie, on exécute les instructions (corps de la boucle), puis,
on retourne tester la condition. Si elle est encore vraie, on répète l'exécution,
…
Si la condition est fausse, on sort de la boucle et on exécute l'instruction qui
est après FinTantQue
Il est possible que les instructions à répéter ne soient jamais exécutées
Le nombre d'itérations dans une boucle TantQue n'est pas connu au moment
d'entrée dans la boucle. Il dépend de l'évolution de la valeur de la condition
Une des instructions du corps de la boucle doit absolument changer la valeur
de la condition de vrai à faux (après un certain nombre d'itérations), sinon
le programme va tourner indéfiniment : Attention aux boucles infinies
Exemple de boucle infinie :
/* A éviter */ /* Correction */
i←1 i←1
TantQue i > 0 Faire TantQue i <100 Faire
i ← i+1 i ← i+1
FinTantQue FinTantQue
Exemple:
Un algorithme qui détermine le premier nombre entier N tel que la somme de 1 à
N dépasse strictement 100
9
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms
Algorithme et Programmation
Debut Debut
i←0 i←1
som← 0 som ← 0
TantQue (som <=100) Faire TantQue (som <=100) Faire
i ← i+1 som ← som + i
som ← som+i i ← i+1
FinTantQue FinTantQue
Afficher (" La valeur cherchée est N= ", i) Afficher (" La valeur cherchée est N= ", i-1)
Fin Fin
10
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms
Algorithme et Programmation
ou
Répéter
instructions
Jusqu'à condition vraie
Remarques
Condition est évaluée après chaque itération
les instructions entre Répéter et jusqu’à sont exécutées au moins une fois
et leur exécution est répétée jusqu’à ce que la condition soit vraie (tant
qu'elle est fausse)
Exemple
Un algorithme qui détermine le premier nombre entier N tel que la somme de 1 à
N dépasse strictement 100 (version avec répéter jusqu'à)
Variables som, i : Entier
Debut
som ← 0
i←0
Répéter
i ← i+1
som ← som+i
Jusqu'à ( som > 100)
Afficher (" La valeur cherchée est N= ", i)
Fin
11
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms
Algorithme et Programmation
12
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms
Algorithme et Programmation
1.4. Applications
Exercice 1
Écrire un algorithme qui permet de saisir une valeur entière et affiche son double
si cette donnée est inférieure à un seuil donné.
Exercice 2
Écrire un algorithme qui, après avoir saisi la note de l’étudiant, permet d’afficher :
"Reçu avec mention Assez Bien " si une note est supérieure ou égale à 12,
" Reçu mention Passable " si elle est supérieure à 10 et inférieure à 12, et
"Insuffisant" dans tous les autres cas.
Exercice 3
Ecrire un algorithme qui fait la somme de « N » nombres réels saisis.
Exercice 4
Écrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui teste
et affiche s'il est impair et multiple de 3.
Exercice 5
Ecrire un algorithme qui permet de calculer la somme des n premiers termes de la
« série harmonique », c’est-à-dire la somme :
1 + 1/2 + 1/3 + 1/4 + ..... + 1/n
La valeur de n sera lue en donnée.
13
Enseignant : Ing Carlos AGOSSOU, Docteur en Informatique et Télécoms