Académique Documents
Professionnel Documents
Culture Documents
L’ALGORITHME
1
INTRODUCTION
L’écriture d’un programme informatique est une tâche exigeante dans sa rigueur. Les ordinateurs exigent
perfection et précision dans les instructions qui leur sont données car ils ne font que ce qu’on leur demande
de faire. Il ne viendrait à l’idée de personne de rédiger une dissertation sans au préalable construire un plan.
Des idées mêmes bonnes ne suffissent pas à faire une bonne rédaction, une structure est nécessaire à leur
cohésion. Il en est de même en informatique, faute de méthodes nombres de programmes ne fonctionnent
jamais ou le font très mal. Apprendre à programmer consistes plus à acquérir une démarche d’esprit, une
méthodologie, qu’à connaître les tours et détours d’un langage de programmation. Connaître un langage de
programmation n’est pas savoir programmer. Programmer, c’est définir précisément le problème à
résoudre, décrire peu à peu une solution et après seulement l’exprimer dans un langage de programmation.
Dans cette démarche l’activité la plus créative n’est pas le codage mais l’analyse du problème.
L’algorithmique doit être perçu comme un outil favorisant la réflexion, l’analyse d’un problème tout en
gommant les difficultés inhérentes aux langages de programmation.
2
CHAP 1 : NOTIONS DE BASES
1. Définitions
- Un algorithme est une suite d’opérations élémentaires permettant d’obtenir le résultat final
déterminé à un problème.
- Un algorithme est un pseudo-langage utilisé comme interface entre les langages d’humain et les
langages de machine.
2. Syntaxe générale
Var
Zone de déclaration
<Déclarations d’objets (Variables et autres) >
Debut
<Instruction 1
Instruction 2
…………………. Corps
Instruction n>
Fin
NB :
Nom_de_l’algorithme : C’est un identifiant symbolique que le programmeur donne à chacun de ses
algorithmes.
Ex : Algo somme
pour un algorithme calculant la somme de2 nombres
3. Les variables
Une variable est une structure de données utilisée pour stocker des données en mémoire.
La déclaration des variables correspond à la réservation en mémoire d’un espace pour toutes
les données utilisées dans notre programme. La syntaxe est la suivante :
Nom_de_la_variable : Type_de_la_variable
Type_de_la_variable, c’est le type de données d’une variable. Les types couramment utilisés
sont :
Var
op1 : Entier Var
op2 : Entier
op1, op2, Res : Entier
Res : Entier
NB :
Quand plusieurs variables sont du même type, on peut faire la déclaration sur une même ligne.
4. Les instructions
L’affectation
Elle est utilisée pour renseigner un espace mémoire préalablement réservé. Il s’agit d’affecter un contenu,
une valeur à une variable sans passer par le clavier.
Ex :
op14 (opérante 1 reçoit 4)
op25 (opérante2 reçoit 5)
Resop1 + op2 (Résultat reçoit « opérante1 + opérante2 »)
Opérateurs arithmétiques
Une instruction peut comporter des opérateurs arithmétiques
Addition +
Soustraction -
Multiplication *
Division /
Opérateurs relationnels
égal =
Supérieur >
4
Supérieur ou égal >=
Inférieur <
Différent <>
Opérateurs logiques
Un operateur logique est un operateur qui agit sur les variables de type booléen et le résultat est celui de la
table de vérité
ET OU(OU inclusif)
P Q P ET Q P Q P OU Q
V V V V V V
F V F F V V
V F F V F V
F F F F F F
P Q P OU Q
NON
V V F P NON P
F V V V F
V F V F V
F F F
Entrées
Pour entrer une valeur au clavier, on utilise l’instruction SAISIR. La syntaxe est la suivante
SAISIR(Nom_de_la_variable)
5
Exemple
SAISIR (op1)
SAISIR (op1, op2)
SAISIR (op2)
Sorties
Pour afficher quelque chose à l’écran on utilise l’instruction : AFFICHER. La syntaxe est la suivante :
Problème : Ecrire un algorithme qui calcule et affiche la somme de 2 entiers saisis au clavier par l’utilisateur
Op1 Entier
Op2 Entier
6
Etape4 : Ecrire l’algorithme
Algo Somme
Var
op1, op2, Res : Entier
Début
Fin
3 4 5 9
4 4 5 9 La somme est : 9
7
CHAP 2 : LES STRUCTURES DE BASES D’UN ALGORITHME
Les actions d’un algorithme s’articulent à l’aide de structures de base. Les structures de base sont :
• La structure séquentielle (ensemble d’opérations à la suite les unes des autres) : C’est ce que nous
avons vu jusqu’à présent.
• La structure conditionnelle (ensemble d’opérations soumises à une condition)
• La structure répétitive (ensemble d’opérations répétées un nombre fini de fois)
Forme simple
Instruction(s)
FSI
Exemple :
Ecrire un algo qui permet de dire si un nombre réel saisi au clavier est négatif ou positif :
Algo positif_negatif
Var
nbre : Réel
Début
SAISIR (nbre)
FSI
FSI
FIN
8
Forme complexe
Instruction (s)
SINON
Instruction(s)
FSI
Algo positif_negatif
Var
nbre : Réel
Début
SAISIR (nbre)
AFFICHER (“Positif”)
SINON
AFFICHER(“Négatif”)
FSI
FIN
9
Forme imbriquée
Instruction(s)
SINON
Instruction(s)
FSI]
SINON
Instructions
SINON
Instructions
FSI]
FSI
Supposons que notre algo doive afficher aussi « nul » au cas où l’utilisateur saisi 0.
Algo positif_negatif
…………………………
Début
1 ……………………………………………
AFFICHER (“Positif”)
2 SINON
SI (nbre = 0)
3 AFFICHER(“Nul”)
SINON
1 2 3 AFFICHER(“Négatif”)
FSI
FSI 10
FIN
La structure de choix
Ecrire un algo qui affiche un message correspondant pour chaque valeur saisie.
Nombre Message
1 Minime
2 Cadet
3 Junior
4 Senior
Algo choix
Var
Choix : Entier
Début
AFFICHER (“Minime”)
FSI
SI (choix = 2)
AFFICHER (“Cadet”)
FSI
SI (choix = 3)
AFFICHER (“Junior”)
FSI
SI (choix = 4)
AFFICHER (“Senior”)
FSI
FSI
FIN
11
Remarque :
Lorsque le nombre de choix alternatif est plus grand que 3 et que la condition porte sur des nombres
entiers ou des caractères, les structures alternatives peuvent être avantageusement remplacées par la
structure de choix
Syntaxe 1 Syntaxe 2
FSELON FSELON
NB : Les cas non prévus ne sont pas pris en Compte, Notre algorithme devient alors :
Algo choix
Var
choix : Entier
Début
SAISIR (choix)
FSELON
FIN
12