Vous êtes sur la page 1sur 19

Introduction aux algorigrammes

Par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD


Date de publication : 25 juin 2007
Dernire mise jour : 4 juillet 2007
Les premiers algorigrammes, les premires boucles
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 2 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
Avant-Propos................................................................................................................................................................ 3
1 - La norme ISO 5807............................................................................................................................................... 3
2 - Les entres-sorties.................................................................................................................................................4
3 - Structure d?aiguillage : Si (...) {...} Alors {...}.........................................................................................................5
4 - Structure de choix multiples : Au cas ou............................................................................................................... 5
5 - Les boucles tant que et faire...tant que.................................................................................................................6
5.1 - La boucle " tant que ".................................................................................................................................... 6
5.2 - La boucle " repeter tant que "....................................................................................................................... 7
5.3 - Remplacer la boucle " repeter tant que " par "tant que"............................................................................... 7
6 - L'instruction Pour....................................................................................................................................................8
7 - Les structures viter - Exemple et contre exemple............................................................................................8
7.1 - algorigramme incorrect.................................................................................................................................. 9
7.2 - algorigramme corrig................................................................................................................................... 10
7.3 - algorigramme correct simplifi.....................................................................................................................11
8 - Un exemple complet............................................................................................................................................ 11
9 - Remerciements.................................................................................................................................................... 19
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 3 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
Avant-Propos
Avant toute programmation, il est recommand d'avoir une visualisation du programme qu'on va faire. Pour cela, il
faut faire un algorithme ou un organigramme. Le premier a une structure linaire comme un programme alors que
le second permet de bien mieux visualiser les diffrents blocs du programme, les boucles, les tests. C'est ce dernier
point que je vais prsenter ici : les algorigrammes.
Faire un organigramme est important car la programmation est un processus itratif. Le programme est parfois modifi
par d'autres dveloppeurs que ceux qui l'ont conu. Ce schma pourra expliquer la conception du programme aux
nouveaux dveloppeurs. Il pourra mme clairer le concepteur lui-mme sur des ides qu'il avait eu. La ralisation
d'un organigramme est tout aussi important que de mettre des commentaires dans le programme.
Les modes de programmation visuelle, qui se dveloppent de plus en plus ressemblent plus des algorigrammes
qu' un programme. Il est donc important de prendre connaissance ds que possible avec cette schmatique.
Cet article est un rsum du cours donn en II1 au dpartement GEii de l'IUT B de l'universit Lyon 1.
1 - La norme ISO 5807
Symbole Dsignation Symbole Dsignation
1) SYMBOLES DE
TRAITEMENT
Symbole gnral
"traitement"
Opration ou groupe
d'oprations sur des
donnes, instructions,
etc.., ou opration
pour laquelle il
n'existe aucun
symbole normalis.
6) Mode synchrone ;
mode parallle
Ce symbole est utilis
lorsque plusieurs
instructions doivent
tre excutes
simultanment.
2) Fonction ou sous-
programme
Portion de
programme
considre comme
une simple opration.
7) SYMBOLES
AUXILIAIRES
Renvoi
Symbole utilis deux
fois pour assurer la
continuit lorsqu'une
partie de ligne de
liaison n'est pas
reprsente.
3) Entre - Sortie :
Mise disposition
d'une information
traiter ou
enregistrement d'une
information traite.
8) Dbut, fin,
interruption
Dbut, fin ou
interruption d'un
organigramme, point
de contrle, etc..
4) Prparation
Opration qui
dtermine
partiellement ou
compltement la voie
suivre dans un
embranchement ou
un sous-programme.
9) Commentaire
Symbole utilis
pour donner
des indications
marginales.
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 4 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
Symbole galement
utilis pour prparer
une dcision ou
mettre un aiguillage
en position.
3) SYMBOLES
LOGIQUES
Embranchement
Exploitation de
conditions variables
impliquant le choix
d'une voie parmi
plusieurs.
Symbole couramment
utilis pour
reprsenter une
dcision ou un
aiguillage.
Sens conventionnel des liaisons :
Le sens gnral des lignes doit tre :
- de haut en bas
- de gauche droite.
Lorsque le sens ainsi dfini n'est pas
respect, des pointes de flches, cheval
sur la ligne, indiquent le sens utilis.
Exemple : Calcul de la surface d?un disque partir du rayon
Traduction du cahier des charges :
Entre : Saisie du rayon
Sortie : Affichage de la surface du disque
Traitement raliser : Surface=Pi* Rayon
2 - Les entres-sorties
Les entres sorties sont schmatises par des flches. Elles sont reprsentes, par une flche qui va vers une bulle
ou un texte pour les entres et, par une flche qui sort d'une bulle ou d'un texte pour les sorties. Pour plus de lisibilit,
on choisit de mettre gauche les entres et droite les sorties. La nature des entres-sorties est aussi indique car
elles peuvent tre compltement diffrentes surtout en automatique.
Voir sur le schma ci-dessus l'ntre Clavier et la sortie cran.
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 5 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
3 - Structure d?aiguillage : Si (...) {...} Alors {...}
Il s'agit de l'instruction :
SI ( expression vraie ) ALORS
BLOC 1 D'INSTRUCTIONS
SINON
BLOC 2 D'INSTRUCTIONS
FINSI
remarque : la sortie avec le rond est la
sortie non . Ceci permet de la mettre
n'importe o : en bas, droite ou gauche.
4 - Structure de choix multiples : Au cas ou...
La structure Si (...) Alors {...} Sinon {...} permet de raliser un choix parmi deux possibilits. Il est possible d?imbriquer
les Si (...) Alors {...} Sinon {...} les uns dans les autres pour tenir compte de choix plus nombreux. Mais la structure
devient trs lourde crire et lire quand le nombre de cas augmente. On lui prfrera alors la structure de tests
multiples, qui permet de comparer une variable (de type entier en C) toute une srie de valeurs et d?excuter, en
fonction de la valeur effective de cette variable, diffrents blocs d?instructions.
Le code compil par une suite de si ou un Au cas ou n'est pas le mme. Celui du Au cas ou est plus optimis
en gnral.
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 6 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
Il s'agit de l'instruction :
AU CAS OU ( la variable ) VAUT
C1 : BLOC 1 D'INSTRUCTIONS
C2 : BLOC 2 D'INSTRUCTIONS
C3 : BLOC 3 D'INSTRUCTIONS
?.
Cn : BLOC n D'INSTRUCTIONS
SINON
BLOC n+1 D'INSTRUCTIONS
FIN DE CAS
5 - Les boucles tant que et faire...tant que
5.1 - La boucle " tant que "
Il s'agit de l'instruction :
TANT QUE ( condition est vraie ) FAIRE
BLOC D'INSTRUCTIONS
Remarque : comme le test se fait avant le bloc d'instructions, celui-ci n'est pas forcment excut.
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 7 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
Attention : il faut que le rsultat du test puisse tre modifi d?une manire ou d?une autre si on ne veut pas faire
une boucle sans fin.
On peut rencontrer la construction tant que (expression); sans la prsence du bloc d'instructions. Cette construction
signifie: "tant que l'expression est vraie attendre".
5.2 - La boucle " repeter tant que "
Il s'agit de l'instruction :
REPETER
BLOC D'INSTRUCTIONS
TANT QUE (condition est vraie)
Remarque : Le test se fait aprs le bloc d'instructions, celui-ci est excut au moins une fois.
5.3 - Remplacer la boucle " repeter tant que " par "tant que"
REPETER
BLOC D'INSTRUCTIONS A
TANT QUE (condition est vraie)
est quivalent
BLOC D'INSTRUCTIONS A
TANT QUE (condition est vraie) FAIRE
BLOC D'INSTRUCTIONS A
L'inconvnient de ce remplacement est la
rptition de BLOC D'INSTRUCTIONS A.
Cette remarque est juste l pour vous aider
faire la diffrence entre un " repeter tant que "
et un "tant que", un "do while" et un "while".
Remplacement du "faire tant
que" par un "repeter tant que"
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 8 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
6 - L'instruction Pour
Il s'agit de l'instruction :
POUR ( initialisation ; condition de
continuit vraie ; modification )
{
BLOC D'INSTRUCTIONS
}
Remarques :
Les 3 instructions du Pour ne portent pas forcment sur la mme variable. Une instruction peut contenir
l'oprateur squentiel afin de pouvoir mettre deux instructions la place de l'initialisation, la condition de
continuit ou la modification. Attention, ceci affecte gravement la lisibilit du code.
Une ou plusieurs des 3 instructions peuvent tre omises, mais pas les ;
Pour (;;) est une boucle infinie (rptition infinie du bloc d'instructions).
7 - Les structures viter - Exemple et contre exemple
Bien que les algorigrammes soient trs flexibles, leur lisibilit impose d'viter d'utiliser des structures comme des
renvois croiss (boucles ou sauts). Ces renvois doivent imprativement tre contenus les uns dans les autres sans
intersection.
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 9 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
7.1 - algorigramme incorrect
Ceci est un mauvais exemple car les trois renvois se mlangent.
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 10 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
7.2 - algorigramme corrig
Cet algorigramme est correct mais, comme certaines parties sont crites deux fois, il peut tre simplifi.
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 11 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
7.3 - algorigramme correct simplifi
Grce aux fonctions, la structure du programme principal a t simplifie en vitant de faire plusieurs fois les mmes
choses.
8 - Un exemple complet
Voici, sous forme d'organigramme mon programme de taquin disponible http://c.developpez.com/sources/c/?
page=IX. L'original des algorigrammes est un fichier draw de OpenOffice.org disponible ici.
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 12 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
Le corps du programme
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 13 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
~~--------========________========--------~~
La fonction affiche qui renvoie le nombre k de cases mal places.
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 14 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
~~--------========________========--------~~
La fonction callback_label qui renvoie 1 si le taquin est fini, 0 sinon.
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 15 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
~~--------========________========--------~~
La fonction placepous qui renvoie 1 s'il y a eu un mouvement.
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 16 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
~~--------========________========--------~~
4 petites fonctions.
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 17 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
~~--------========________========--------~~
La fonction taille
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 18 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
~~--------========________========--------~~
La fonction morceaux
~~--------========________========--------~~
La fonction signal_morceaux
Introduction aux algorigrammes par Vronique Bondaz - Pascal Bouron - Troumad alias Bernard SIAUD
- 19 -
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par
les droits d'auteur. Copyright 2013 Bernard Siaud. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://troumad.developpez.com/C/algorigrammes/
~~--------========________========--------~~
La fonction choix_fichier
~~--------========________========--------~~
9 - Remerciements
PRomu@ld pour ses conseils et Dut pour sa correction.

Vous aimerez peut-être aussi