Professional Documents
Culture Documents
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.
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)
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
Les MOTS
SINON :
dfinissent un structure ALTERNATIVE
JUSQU'A : dfinissent une structure ITERATIVE
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
Exemple :
- LIRE Capteur S1
Exemple :
Philippe HOARAU
FIN SI
2/10
Langage algorithmique
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
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
- 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
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.
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
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
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
- 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
Algorithme GRAPHIQUE
Structure GRAFCET
DEBUT
1
FAIRE
V=Vi
FAIRE
V=VP
4
Instruction 1
Reprise de squence
Instruction 2
Instruction n
V=Vf
FIN
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
Algorithme GRAPHIQUE
Structure GRAFCET
DEBUT
Divergence en OU
ou
Slection de squence
Condition
Traitement 2
Traitement 1
1
a
/a
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
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 :
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