M1_Algo_MAI1 Page 1/10
Cours d’algorithmique
I - Définition
a. Définition d’un algorithme
b. Définition d’un algorigramme
1 Symbole général
2 Renvoi
3 Sous- programme
4 Entrée Sortie
5 Commentaires
6 Branchement
II – L’algorithme
Le langage de description
III – Structure d’un algorithme
a. Représentation :
1. L’en-tête
2. Les déclarations
3. Le corps
4. Les commentaires
IV – Déclaration de constantes, de variables, et de structures
a. Les constantes
b. Les variables
c. Les structures
V – Déclaration de procédures et de fonctions
a. La procédure
b. La fonction
1. Les paramètres
VI – Les types de base
1. L’entier
2. Le réel
3. Le booléen
4. Le caractère
5. La chaîne de caractères
VII – Les opérateurs
a. Opérateurs sur les entiers et les réels
b. Opérateurs sur les entiers
c. Opérateurs sur les caractères et les chaînes
d. Priorité des opérateurs
VIII – Les structures algorithmiques fondamentales
a Caractéristique de la structure linéaire
b Caractéristique de la structure alternative
c Caractéristique de la structure de choix
d Caractéristique de la structure itérative
M1_Algo_MAI1 Page 2/10
I. DEFINITIONS
a. Définition d’un algorithme :
C’est un ensemble de règles opératoires rigoureuses, ordonnant à un processeur
d’exécuter dans un ordre déterminé un nombre fini d’opérations élémentaires ; il oblige à une
programmation structurée.
Un algorithme est écrit en utilisant un langage de description d’algorithme (LDA).
L’algorithme ne doit pas être confondu avec le programme proprement dit.
b. Définition d’un algorigramme :
C’est une représentation graphique de l’algorithme. Pour le construire, on utilise des
symboles normalisés.
Symbole Désignation Symbole Désignation
Symboles de traitement Symboles auxiliaires
Symbole général Renvoi
Opération ou groupe Symbole utilisé deux fois
d’opérations sur des pour assurer la continuité
données, instructions lorsqu’une partie de ligne
pour laquelle il de liaison n’est pas
n’existe aucune représentée.
symbole normalisé
Sous-programme Début, fin, interruption
Portion de programme Début, fin ou interruption
considérée comme d’un algorigramme
une simple opération
Entrée-Sortie Commentaire
Mise à disposition Symbole utilisé pour
d’une information à donner des indications sur
traiter ou les opérations effectuées
enregistrement d’une
information à traitée
Symbole de test Les différents symboles
Branchement sont reliés entre eux par
Exploitation de des lignes de liaisons
conditions variables
impliquant un choix
parmi plusieurs
Sens conventionnel des liaisons
Le sens général des lignes de liaison doit être :
De haut en bas
De gauche à droite
Lorsque le sens général ne peut pas être respecté, des pointes de flèches à cheval sur la ligne
indiquent le sens utilisé.
M1_Algo_MAI1 Page 3/10
II. l’ALGORITHME
a. Le Langage de description d’algorithme
Ce langage utilise un ensemble de mots clés et de structures permettant de décrire de
manière complète, claire, l’ensemble des opérations à exécuter sur des données pour obtenir
des résultats ; on n’hésitera donc pas à agrémenter l’algorithme de nombreux commentaires.
L’avantage d’un tel langage est de pouvoir être facilement transcrit dans un langage de
programmation structuré (Pascal, C, …).
III. STRUCTURE D’UN ALGORITHME
a. Représentation
L’en-tête algorithme nom de l’algorithme ;
const
liste des constantes ;
var
Les déclarations de constantes, variables, structures
liste des variables ;
struct
liste des structures ;
fonc
Les déclarations de fonctions et procédures liste des fonctions ;
proc
liste des procédures ;
début
action 1 ;
action 2 ;
Le corps de l’algorithme
action n ;
fin algorithme
Tous les mots clés sont soulignés et écrits en minuscule.
Une marque de terminaison ( ; ) est utilisée entre chaque action.
1. L’en-tête
Il permet tout simplement d’identifier un algorithme.
2. Les déclarations
C’est la liste exhaustive des objets, grandeurs utilisés et manipulés dans le corps de
l’algorithme ; cette liste est placée en début d’algorithme.
3. Le corps
Dans cette partie de l’algorithme, sont placées les tâches (instructions, opérations) à
exécuter.
M1_Algo_MAI1 Page 4/10
4. Les commentaires :
Pour permettre une interprétation aisée de l’algorithme, il faut utiliser des commentaires.
Mot Clé : co ceci est un exemple fco
IV. DECLARATION DE CONSTANTES, DE VARIABLES ET DE STRUCTURES.
a. Les constantes
Elles représentent des chiffres, des nombres, des caractères, des chaînes de caractères,
… dont la valeur ne peut pas être modifiée au cours de l’exécution de l’algorithme.
Mot clé : const
b. Les variables
Elles peuvent stocker des chiffres, des nombres, des caractères ou chaîne de caractères,
… dont la valeur peut être modifiée au cours de l’exécution du programme.
Mot clé : var
Les constantes et les variables sont définies dans la partie déclarative par deux caractéristiques
essentielles, à savoir :
• Le type : Il détermine la nature de la variable ou de la constante (entier, réel, booléen,
chaîne de caractères).
• L’identificateur : c’est le nom de la variable ou de la constante. Il est composé de lettres et
de chiffres.
Exemple
const
origine c’est 10
posinitiale c’est 0
var
Entier température, consigne ;
c. Instruction d’affectation
Permet de mettre une valeur ou le résultat d’un calcul dans une variable,
Mot clé : symbole d’affectation
L’affectation se fait en deux temps :
1) Evaluation de l’expression située à droite du symbole
2 ) Affectation du résultat à l’identificateur de variable
Identification de variable Valeur
Exemple :
M1_Algo_MAI1 Page 5/10
d. Les structures
Elles permettent de rassembler plusieurs variables ou constantes sous un même
identificateur ; on parle aussi d’entité ou d’objets.
Mot clé : struct … fstruct
Exemple
struct
disque c’est
entier abs,ord ;
entier rayon ;
entier couleur ;
fstruct
V. DECLARATION DE PROCEDURE ET DE FONCTIONS
a. La procédure
C’est un ensemble d’instructions référencé par un nom, et dont l’exécution est
provoquée par le simple énoncé de ce nom. La procédure peut recevoir ou renvoyer des
valeurs.
Mot clé : proc identificateur (…)
b. La fonction
Comme pour la procédure, l’exécution d’une fonction est provoquée par la simple
évocation de son nom. La fonction peut renvoyer au programme principal un résultat. C’est
une procédure simplifiée.
Mot clé : fonc identificateur (…)
1. Les paramètres (…)
o Les paramètres entrants peuvent être consultés (et éventuellement modifiés) à
l’intérieur de la procédure.
o Les paramètres sortants dont la valeur est déterminée à l’intérieur de procédure
et utilisable après l’appel de la procédure
o Les paramètres mixtes, qui ont une valeur à l’entrée dans la procédure, valeur
qui peut être modifiée à l’intérieur de celle-ci, la modification étant répercutée
à l’extérieur de la procédure.
M1_Algo_MAI1 Page 6/10
VI. LES TYPES DE BASE
Nous avons vu qu’une des deux caractéristiques des constantes et de variables était leur type.
Nous détaillerons 5 types de base :
1. L’entier
Notation
45, 36, - 564, 0 en décimal
45h,0F1Bh,64h en hexadécimal
%10101110, %1001 en binaire
Mot clé : entier
2. Le réel
Notation
-3.67,4.258.-542.0,18.36 e-6
Mot clé : réel
3. Le booléen
Il ne peut prendre que deux états : VRAI ou FAUX
Mot clé : booléen
4. Le caractère
Notation
A, a, *, 7, z
Mot clé : car
5. La chaîne de caractères
Notation
« électronique », « charge »
Mot clé : chaîne
Exemple de traduction
Entier INTEGER
Réel REAL
Le booléen BOOL
Le caractère CHART
La chaîne de caractères STRING
M1_Algo_MAI1 Page 7/10
VII. LES OPERATEURS
a. Opérateurs sur les entiers et les réels
Arithmétiques
+ Addition
- Soustraction
* Multiplication
/ Division
DIV Division entière
↑ Puissance
Comparaisons
> Supérieur
< Inférieur
≥ Supérieur ou égal
≤ Inférieur ou égal
= Egal
≠ Différent
b. Opérateurs sur les entiers et les booléens
Fonctions logiques
Et Fonction ET
Ou Fonction OU
Oux Fonction OU exclusif
Non Fonction NON
Non et Fonction NON ET
Non ou Fonction NON OU
>> Décalage à droite
<< Décalage à gauche
Fonctions de comparaison pour les booléens
= Egal
≠ Différent
c. Opérateurs sur les caractères et les chaînes
Fonctions de concaténation
+ Concaténation
Fonctions de comparaison pour les chaînes
> Supérieur
< Inférieur
= Egalité
≠ Différent
d. Priorité des opérateurs
Priorité à la multiplication et à la division
M1_Algo_MAI1 Page 8/10
VIII. LES STRUCTURES ALGORITHMIQUES FONDAMENTALES
Les opérateurs élémentaires relatives à la résolution d’un problème peuvent, en fonction
de leur enchaînement être organisées suivant quatre familles de structures algorithmiques
fondamentales.
• Structures linéaires
• Structures alternatives
• Structures de choix
• Structures itératives (ou répétitives)
a. Caractéristiques de la structure linéaire
La structure linéaire se caractérise par une suite d’actions à exécuter successivement dans
l’ordre énoncé.
Mot clé : faire action
b. Caractéristique de la structure alternative
La structure alternative n’offre que deux issues possibles à la poursuite de l’algorithme et
s’excluant mutuellement.
On peut rencontrer deux types de structures alternatives :
1. Une structure alternatives complète
Dans cette structure l’exécution d’un des deux traitements
distincts ne dépend que du résultat d’un test effectué sur la
condition qui peut être une variable ou un événement ; Condition
• Si la condition est vérifiée seul le premier traitement
est exécuté ;
• Si la condition n’est pas vérifiée seul est effectué le
second traitement
Action1 Action2
Notation :
si condition alors
Action1 ;
Sinon
Action2 ;
fsi ;
2. Une structure alternative réduite
La structure alternative réduite se distingue de la précédente
par le fait que seule la situation correspondant à la validation de
la condition entraîne l’exécution du traitement, l’autre situation Condition
conduisant systématiquement à la sortie de la structure.
Notation :
si condition alors Action1
Action ;
fsi ;
M1_Algo_MAI1 Page 9/10
c. Caractéristique de la structure de choix
La Structure de choix permet, en fonction de plusieurs conditions de type booléen,
d’effectuer des actions différentes suivant les valeurs que peut prendre une même variable
Notation :
Condition1
suivant valeur faire Action1
valeur1 : action1 ; Condition2
valeur2 : action2 ; Action2
ConditionN
valeur N : actionN ;
ActionN
sinon action N+1
fsuivant ; ActionN
d. Caractéristique de la structure itérative
La structure itérative répète l’exécution d’une opération ou d’un traitement.
On considérera 2 cas :
Premier cas : le nombre de répétitions n’est pas connu ou est variable.
Structure REPETER JUSQU'A
Dans cette structure, le traitement est exécuté une première fois puis Action
sa répétition se poursuit jusqu’à ce que la condition soit vérifiée
L’ACTION EST EXECUTEE AU MOINS UNE FOIS
Condition
Notation :
répéter
action ;
Jusqu’à condition vraie ;
Structure TANT QUE … FAIRE …
Dans cette structure, on commence par tester la condition ; si elle est
vraie, le traitement est exécuté. Condition
L’ACTION PEUT NE JAMAIS ETRE EXECUTEE. Action
Notation :
tant que condition faire
action ;
Ftant que ;
M1_Algo_MAI1 Page 10/10
Deuxième cas : le nombre de répétitions est connu.
Structure POUR … DE … à … FAIRE …
Dans cette structure, la sortie de la boucle d’itération s’effectue lorsque le nombre de
répétition est atteint.
On utilise donc une variable ( ou indice) de contrôle d’itération caractérisée par :
• Sa valeur initiale.
• Sa valeur finale.
• Son pas de variation.
On trouvera les termes de POUR décroissante ou POUR croissante selon que l’on veuille
compter ou décompter.
V= Vi
V=Vf
ACTION
V = V+ pas
V : variable
Vi : valeur initiale de V
Vf : valeur finale de V