Vous êtes sur la page 1sur 12

L’ESSENTIEL DE

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

Algo <Nom_de_l’algorithme > Entête

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

Nom_de_la_variable est un identifiant symbolique utilisé par le programmeur pour désigner


chaque variable dans son programme.

Ex : pour une variable exprimant par exemple :


• Le résultat Res
• L’opérant 1 op1
3
• L’opérant 2 op2

Type_de_la_variable, c’est le type de données d’une variable. Les types couramment utilisés
sont :

• Types simples : Entier, Réel, Caractère, Booléen


• Types complexes : Chaîne de caractères, Tableau, Enregistrement,……

Exemple de déclaration de variables :

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 :
op14 (opérante 1 reçoit 4)
op25 (opérante2 reçoit 5)
Resop1 + 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 /

Quotient Div (division entière, ex : 7 Div 2 = 3)

Reste Mod (ex : 7 Mod 2 = 1)

Opérateurs relationnels

égal =

Supérieur >

4
Supérieur ou égal >=

Inférieur <

Inferieur ou égal <=

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

XOU (OU exclusif)

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

5. Entrées et Les Sorties

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 :

• AFFICHER (“message à afficher ”)


• AFFICHER(Nom_de_la_variable)
• AFFICHER (“message à afficher ”, Nom_de_la_variable)
Exemple :
AFFICHER (“Entrez deux nombres”)
AFFICHER (”La somme est : ”, Res)

6. Démarche de résolution d’un problème

Problème : Ecrire un algorithme qui calcule et affiche la somme de 2 entiers saisis au clavier par l’utilisateur

Etape 1 : L’Analyse mathématique


Faire une représentation mathématique de la solution si possible
Résultat = operant1 + opreant2

Etape 2 : Les objectifs


Décrire le ou les besoins à atteindre
Saisir 2 entiers au clavier
Calculer la somme des 2 entiers
Afficher le résultat

Etape3 : Les besoins


Dresser la liste des besoins (données/variables/ objets que le programmes va utiliser)

Variables Type Règle de calcul

Op1 Entier

Op2 Entier

Res Entier Resop1+op2

6
Etape4 : Ecrire l’algorithme

Algo Somme
Var
op1, op2, Res : Entier
Début

AFFICHER (“Entrez 2 entiers SVP !”)

SAISIR (op1, op2)

Res  op1 + op2

AFFICHER (“La somme est : ”, Res)

Fin

Etape 5 : Faire la trace


Cette action consiste à exécuter le programme à la main. Il s’agit de simuler et prévoir à la main le
comportement de la machine.

N° Op1 Op2 Res Ecran

1 // // // Entrez 2 entiers SVP !

2 4 5 4 (OK : Touche Entrer du clavier) 5 (OK)

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)

1. Les structures conditionnelles


La structure alternative
Les structures alternatives traduisent les situations dans lesquelles l’exécution d’une ou plusieurs
instructions est conditionnée. Nous avons 3 formes de structures alternatives.

Forme simple

SI (Expression logique est V) Alors

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

AFFICHER (“Entrer un nombre non nul SVP !”)

SAISIR (nbre)

SI (nbre > 0) Alors


1
AFFICHER (“Positif”)

FSI

SI (nbre < 0) Alors


1
AFFICHER (“Négatif”)

FSI

FIN

8
Forme complexe

Elle est utilisée lorsqu’on a exactement 2 alternatives complémentaires.

SI (Expression logique est V) Alors

Instruction (s)

SINON

Instruction(s)

FSI

Notre algorithme précédent devient :

Algo positif_negatif
Var
nbre : Réel
Début

AFFICHER (“Entrer un nombre non nul SVP !”)

SAISIR (nbre)

SI (nbre > 0) Alors

AFFICHER (“Positif”)

SINON

AFFICHER(“Négatif”)

FSI

FIN

9
Forme imbriquée

Elle est utilisée lorsqu’on a plus de 2 alternatives.

SI (Expression logique 1 est V) Alors

[SI (Expression logique 2 V) Alors

Instruction(s)

SINON

Instruction(s)

FSI]

SINON

[SI (Expression logique 3 V) Alors

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 ……………………………………………

SI (nbre > 0) Alors

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

Autres Choix non prévu

Algo choix
Var
Choix : Entier
Début

AFFICHER (“Faire un choix entre 1 et 4 SVP !”)


SAISIR (choix)
SI (choix = 1)

AFFICHER (“Minime”)

FSI

SI (choix = 2)

AFFICHER (“Cadet”)

FSI

SI (choix = 3)

AFFICHER (“Junior”)

FSI

SI (choix = 4)

AFFICHER (“Senior”)

FSI

SI (choix < 1 OU choix > 4)

AFFICHER (“Choix non prévu”)

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

SELON (choix) FAIRE SELON (choix) FAIRE

Cas choix 1 : Instruction(s) Cas choix 1 : Instruction(s)

Cas choix 2 : Instruction(s) ………………………..

…………………………… Cas choix n : Instruction(s)

Cas choix n : Instruction(s) Cas SINON : Instruction(s)

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

AFFICHER (“Faire un choix entre 1 et 4 SVP !”)

SAISIR (choix)

SELON (choix) FAIRE

Cas 1 : AFFICHER (“Minime”)

Cas 1 : AFFICHER (“Cadet”)

Cas 1 : AFFICHER (“Junior”)

Cas 1 : AFFICHER (“Senior”)

Cas SINON AFFICHER (“Choix non prévu”)

FSELON

FIN

12

Vous aimerez peut-être aussi