Vous êtes sur la page 1sur 10

Langage algorithmique

LANGAGE ALGORITHMIQUE
1 Introduction
Alors quils nexistaient pas il y a 50 ans, les ordinateurs ont aujourdhui envahi notre environnement.
Bien que trs puissant par la quantit dinformations quil peut engranger et le grand nombre
doprations quil peut excuter par seconde, un ordinateur n'est qu'une machine capable d'excuter
automatiquement une srie d'oprations simples qu'on lui a demand de faire.
Pour rsoudre un problme l'aide d'un ordinateur, il faut:
1. analyser ce problme: dfinir avec prcision les rsultats obtenir, les informations dont on
dispose, ...
2. dterminer les mthodes de rsolution: il s'agit de dterminer la suite des oprations
effectuer pour obtenir partir des donnes la solution au problme pos. Cette suite
d'oprations constitue un algorithme. Parmi tous les algorithmes fournissant la solution, il
faudra choisir le plus efficace.
3. formuler l'algorithme dfinitif: cette tape doit faciliter la rsolution sur ordinateur par
l'expression de l'algorithme dans un formalisme adquat (langage de description d'algorithme:
LDA, organigramme, arbre programmatique, ...).
4. traduire l'algorithme dans un langage de programmation adapt.
LEncyclopdia Universalis donne la dfinition suivante de lAlgorithme :
Un algorithme est une suite de rgles appliquer dans un ordre dtermin un nombre fini de
donnes pour arriver, en un nombre fini dtapes, un certain rsultat, et cela indpendamment des
donnes.
Le mot algorithme provient du nom dun clbre mathmaticien arabe de la premire moiti du IXe
sicle : MUHAMMAD IBN MUSA AL KHWARISMI.
Les algorithmes sont fondamentaux au sens o ils sont indpendants la fois de lordinateur qui les
excutent et des langages dans lequel ils sont traduits.

2 Qualits dun algorithme


Pour obtenir un bon programme il faut partir dun bon algorithme qui doit possder entre autres, les
qualits suivantes :

Etre clair, facile comprendre par tous ceux qui le lisent.

Etre le plus gnral possible pour rpondre au plus grand nombre de cas possibles.

Etre dune utilisation aise mme par ceux qui ne lont pas crit (Messages pour lintroduction des
donnes)

Etre conu de manire limiter le nombre doprations effectuer et la place occupe en


mmoire.

Une des meilleures faons de rendre un algorithme clair et comprhensible est dutiliser un langage
de description structur nutilisant quun petit nombre de structures indpendantes du langage de
programmation utilis.

Philippe HOARAU

1/10

Langage algorithmique

3 Elments reprsentatifs du langage algorithmique


3.1

Les MOTS

On distingue trois familles de mots :

Les mots CLES


Les mots INSTRUCTIONS
Les mots DELIMITEURS

3.1.1 MOTS CLES


Les mots cls dfinissent la structure algorithmique utilise
Exemples de mots cls :
- SI
ALORS
- REPETER

SINON :
dfinissent un structure ALTERNATIVE
JUSQU'A : dfinissent une structure ITERATIVE

Un mot cl est toujours suivi :

Soit dune expression conditionnelle crite entre guillemets


Soit dun ou plusieurs mots instructions

Exemple :
- SI condition 1
- ALORS
- mot instruction 1
- mot instruction 2
- SINON
- REPETER
- mot instruction 3
- mot instruction 4
- JUSQU'A condition 2
- FIN SI

3.1.2 MOTS INSTRUCTIONS


Se sont des verbes daction qui caractrisent la nature des oprations effectuer sur une ou plusieurs
donnes.
Un mot instruction est toujours suivi entre guillemets :

De la dsignation de lobjet sur lequel il sapplique .

Exemple :

- LIRE Capteur S1

Eventuellement de la description de lopration appliquer lobjet.

Exemple :

- FAIRE Compteur = Compteur 1

3.1.3 MOTS DELIMITEURS


Les mots dlimiteurs fixent :
Les bornes dENTRE et de SORTIE de lalgorithme
Les bornes dENTRE et de SORTIE des diffrentes structures utilises dans lalgorithme si ces
bornes ne sont pas dfinies par la structure elle mme.
DEBUT et FIN sont les seuls mots dlimiteurs et peuvent tre suivi ventuellement dun mot cl.
Exemple :

Philippe HOARAU

FIN SI

2/10

Langage algorithmique

4 Reprsentation des algorithmes


4.1 Reprsentation LITTERALE
Aux rgles de reprsentation littrales prcdemment dfinies nous ajouterons les rgles dcriture
suivantes afin de faciliter la lecture de lalgorithme :
Lcriture sera indente 1 afin de faire apparatre lalgorithme comme un rseau principal comportant
une borne dentre et une borne de sortie et chacune des structures qui le constitue comme un sous
rseau prsentant aussi une entre et une sortie.
Rgles :

Le dernier sous rseau ouvert doit tre le premier ferm


Le nombre de fermetures doit tre gal au nombre douvertures

Le rang de la dernire paire de mots dlimiteurs reprsente le degr de complexit de lalgorithme.


- DEBUT
- DEBUT

Rang 0

- DEBUT

Rang 1
Rang 2

- DEBUT
- .
- .
- FIN
- DEBUT
- .
- .
- FIN

Indentation

Rang 3
Le sous rseau de rang 3 est
ici compos de deux
structures algorithmiques de
mme niveau
Algorithme de complexit
dordre 3

- FIN
- FIN
- FIN

4.2 Reprsentation GRAPHIQUE ou ALGORIGRAMME


La reprsentation graphique permet une lecture aise des algorithmes mais prsente toutefois
linconvnient de consommer une place importante. Elle utilise les symboles de la norme NF Z 67-010
dont les principaux sont les suivants :
Dbut, Fin
Dbut, fin ou interruption dun
organigramme

Renvoi
Utilis deux fois pour assurer la
continuit dun organigramme scind

Commentaire
Pour donner des indications marginales

Liaison
Le sens gnral des liaisons doit tre :
- de haut en bas
- de gauche droite

Embranchement
Pour reprsenter une dcision ou un
aiguillage aprs un test

Traitement
Opration ou groupe doprations sur
des donnes

Entre / Sortie
Mise disposition dune information
ou enregistrement dune information

Procd prdfini
Portion de programme considre
comme une simple opration

Indenter : Tabuler le texte en insrant des espaces au dbut de chaque nouvelle structure afin de la mettre en vidence.

Philippe HOARAU

3/10

Langage algorithmique

5 Structures algorithmiques fondamentales


5.1 Structure LINEAIRE ou SEQUENTIELLE
C'est une SUITE D'ACTIONS excuter successivement dans l'ordre de leur nonc
Algorithme LITTERAL
Algorithme GRAPHIQUE
Structure GRAFCET
DEBUT

- Instruction 1
- Instruction 2
-
- Instruction n

Squence

Instruction 1
1

Instruction 2

Instruction n

3
FIN

Les mots instructions sont crits au mme rang sur des lignes successives.
EXEMPLE
DEBUT

- DEBUT
- FAIRE "AC=1"
- FAIRE "EV=1"
- OUVRIR "Vanne 2"
- FIN

FAIRE
AC=1
FAIRE
EV=1
OUVRIR
Vanne
FIN

5.2 Structures ITERATIVES


Par ITERATION on dsigne toute rptition de l'excution d'un traitement. Trois types de structures
itratives sont distinguer:

La structure REPETER. JUSQU'A


La structure REPETER TANT QUE
La structure POUR
A
REPETER

Dans les deux premier cas, le nombre de rptitions n'est pas connu l'avance et dpend d'un ou
plusieurs vnements extrieurs.
Dans le dernier cas, le nombre de rptitions est connu l'avance, il est CONSIGNE.

5.2.1 Structure " REPETER JUSQU'A"


Algorithme LITTERAL

Algorithme GRAPHIQUE

Structure GRAFCET

DEBUT

- REPETER
- Instruction 1
- Instruction 2
- Instruction n
- JUSQU'A "Condition vraie"

Instruction 1

Instruction 2

1
2
3

Instruction n
4
Condition

Reprise de squence

FIN

En anglais: REPEAT UNTIL


Le traitement est excut une premire fois ds l'entre dans la structure, il se rpte jusqu' ce que
la condition soit vrifie.

Philippe HOARAU

4/10

Langage algorithmique

EXEMPLE
A lapparition dun dfaut on provoque simultanment la mise sous tension :
Dun signal lumineux H1
Dun avertisseur sonore H2
Larrt de lavertisseur sonore se fait lorsque loprateur acquitte le dfaut par une action sur le bouton
poussoir S1
DEBUT
FAIRE
H1=1

- DEBUT
- FAIRE "H1=1"
- REPETER
- FAIRE "H2=1"
- JUSQU'A S1=1
- FAIRE H2=0
- FIN

FAIRE
H2=1
S1=1
FAIRE
H2=0
FIN

5.2.2 Structure " REPETER TANT QUE"


Algorithme LITTERAL

Algorithme GRAPHIQUE

Structure GRAFCET

DEBUT

- REPETER
- Instruction 1
- Instruction 2
- Instruction n
- TANT QUE "Condition vraie"

Instruction 1

Instruction 2

3
Instruction n
4
Condition

Reprise de squence

FIN

En anglais: REPEAT WHILE


Le traitement est excut une premire fois ds l'entre dans la structure, il se rpte tant que la
condition est vrifie. Les deux structures itratives REPETER JUSQU'A et REPETER
TANT QUE sont strictement quivalentes
EXEMPLE (mme exemple que prcdemment)
A lapparition dun dfaut on provoque simultanment la mise sous tension :
Dun signal lumineux H1
Dun avertisseur sonore H2
Larrt de lavertisseur sonore se fait lorsque loprateur acquitte le dfaut par une action sur le bouton
poussoir S1
DEBUT

- DEBUT
- FAIRE "H1=1"
- REPETER
- FAIRE "H2=1"
- TANT QUE S1=0
- FAIRE H2=0
- FIN

FAIRE
H1=1
FAIRE
H2=1
S1=0
FAIRE
H2=0
FIN

Philippe HOARAU

5/10

Langage algorithmique

5.2.3 Structure " POUR A REPETER"


Algorithme LITTERAL

Algorithme GRAPHIQUE

Structure GRAFCET

DEBUT
1

FAIRE
V=Vi

FAIRE

- POUR V=Vi A V=Vf Pas=P


- REPETER
- Instruction 1
- Instruction 2
- Instruction n
- FIN POUR

V=VP
4
Instruction 1

Reprise de squence
Instruction 2

Instruction n

V=Vf

FIN

En anglais: FOR TO STEP NEXT


Dans cette structure la sortie de la boucle ditration seffectue lorsque le nombre de rptitions est
atteint.
Do lemploi dune variable V dite de contrle ditration et dfinie par :
sa VALEUR INITIALE : Vi
sa VALEUR FINALE :
Vf
son PAS DE VARIATION : P
Cette structure sutilise si le nombre NR de rptitions est connu :

NR
Exemple : Pour Vf=5 ; Vi=0 ; P= +1 :
Pour Vf=0 ; Vi=8 ; P= -2 :

V f Vi
P

NR=5
NR=4

EXEMPLE
Le guichetier dune salle de cinma tape sur son clavier le nombre de billets demand par le client. Le
distributeur droule alors les billets en sectionne la bande aprs le dernier billet :
DEBUT
TAPER
Nombre de billets NB
FAIRE

- DEBUT
- TAPER "Nombre de billets NB"
- POUR V=0 A V=NB
-REPETER
- DELIVRER "1 billet"
- FIN POUR
- COUPER Bande
- FIN

V=0
DELIVRER
1 billet
FAIRE
V=V+1

V=NB

COUPER
Bande
FIN

Philippe HOARAU

6/10

Langage algorithmique

5.3 Structures ALTERNATIVES


Ces structures dsignent toute situation noffrant que deux issues possibles sexcluant mutuellement.
Il existe deux types de structures alternatives :
La structure alternative COMPLETE
La structure alternative REDUITE

5.3.1 Structure " ALTERNATIVE COMPLETE"


Algorithme LITTERAL
- SI CONDITION VRAIE
- ALORS
- Traitement 1
- SINON
- Traitement 2
- FIN SI

Algorithme GRAPHIQUE

Structure GRAFCET

DEBUT

Divergence en OU
ou
Slection de squence

Condition
Traitement 2

Traitement 1

1
a

/a

FIN

En anglais : IF THEN ELSE


Lexcution dun des deux traitements dpend du rsultat dun test :
Si le test est VRAI le premier traitement est excut.
Si le test est FAUX cest le deuxime traitement qui seffectue.
EXEMPLE
Sur une chane de conditionnement un dispositif de tri permet de diriger les caisses de Masse
suprieure ou gale 20 Kg vers le tapis 1 et les autres vers le tapis 2 en comptabilisant le nombre de
caisses.
- DEBUT
- PESER "Caisse"
- SI "P>=20Kg"
- ALORS
- AIGUILLER caisse vers tapis 1
- FAIRE C1=C1+1
- SINON
- AIGUILLER caisse vers tapis 2
- FAIRE C2=C2+1
- FIN SI
- FIN

Philippe HOARAU

DEBUT
PESER
caisse
P>=20Kg

AIGUILLER
Vers tapis 1

AIGUILLER
Vers tapis 2

FAIRE
C1=C1+1

FAIRE
C2=C2+1

FIN

7/10

Langage algorithmique

5.3.2 Structure " ALTERNATIVE REDUITE"


Algorithme LITTERAL

Algorithme GRAPHIQUE
DEBUT

Structure GRAFCET
Saut dtapes

Condition

- SI CONDITION VRAIE
- ALORS
- Traitement 1
- FIN SI

1
Traitement 1
2
3
FIN
4

En anglais : IF THEN
Seule la situation correspondant la validation de la condition entrane lexcution du traitement dans
le cas o la condition nest pas satisfaite, le traitement nest pas excut et la structure est
abandonne.
EXEMPLE
Sur une chane de conditionnement un dispositif de tri permet de diriger les caisses de Masse
suprieure ou gale 20 Kg vers le tapis 1, les autres continuent davancer sur le mme tapis 2.
DEBUT
PESER
caisse

- DEBUT
- PESER "Caisse"
- SI "P>=20Kg"
- ALORS
- AIGUILLER caisse vers tapis 1
- FIN SI
- FIN

P>=20Kg

AIGUILLER
Vers tapis 1

FIN

6 Structures embotes
Le niveau de difficults des problmes poss par lautomatisation des processus industriels
conduisent souvent rdiger des algorithmes de degr de complexit dordre suprieur 1 utilisant
les structures fondamentales en combinaisons embotes.
Lalgorithme suivant intgre dans un ordre dembotement dcroisant :

Une structure itrative POUR A REPETER


Une structure alternative COMPLETE
Deux structures itratives REPETER JUSQU'A et REPETER
TANT QUE

Son degr de complexit est dordre 3

Philippe HOARAU

8/10

Langage algorithmique

- DEBUT
- POUR V=Vi A V= Vf
- REPETER
- FAIRE V=V-1
- LIRE S1
- SI S1=1
- ALORS
- REPETER
- LIRE S2
- JUSQU'A S2=1
- FAIRE A=1
- SINON
- REPETER
- LIRE S3
- TANT QUE S3=1
- FAIRE B=1
- FIN SI
- FIN POUR
- FIN

DEBUT

FAIRE
"V=Vi"

FAIRE
"V=V-1"

LIRE
"S1"

S1=1

LIRE
"S2"

LIRE
"S3"

S2=1

S3=1

3
FAIRE
"A=1"

FAIRE
"B=1"

LIRE
"V"

"V=Vf"

FIN

Philippe HOARAU

9/10

Langage algorithmique

1
2
3

Introduction
Qualits dun algorithme
Elments reprsentatifs du langage algorithmique
3.1
Les MOTS
3.1.1
MOTS CLES
3.1.2
MOTS INSTRUCTIONS
3.1.3
MOTS DELIMITEURS
4 Reprsentation des algorithmes
4.1
Reprsentation LITTERALE
4.2
Reprsentation GRAPHIQUE ou ALGORIGRAMME
5 Structures algorithmiques fondamentales
5.1
Structure LINEAIRE ou SEQUENTIELLE
5.2
Structures ITERATIVES
5.2.1
Structure " REPETER JUSQU'A"
5.2.2
Structure " REPETER TANT QUE"
5.2.3
Structure " POUR A REPETER"
5.3
Structures ALTERNATIVES
5.3.1
Structure " ALTERNATIVE COMPLETE"
5.3.2
Structure " ALTERNATIVE REDUITE"
6 Structures embotes

Philippe HOARAU

1
1
2
2
2
2
2
3
3
3
4
4
4
4
5
6
7
7
8
8

10/10