Algorithme : Description en langage naturel de la suite des actions effectues par un programme structur. Un algorithme est crit en utilisant un langage de description dalgorithme (LDA). Lalgorithme ne doit pas tre confondu avec le programme proprement dit (tel que Pascal, C, ..)
Algorigramme : Traduction graphique de lalgorithme. Aussi appel Organigramme.
Quelques symboles utiliss pour construire un algorigramme
Syntaxe : Rgles dcriture dun langage donn.
Type de donnes : Un programme peut-tre amen manipuler diffrents types de donnes : - boolen : valeur pouvant tre soit Vraie, soit Fausse. - entiers : valeur numriques entires pouvant tre signes ou non signes (codes sur un ou plusieurs octets). - rels : valeurs numriques codes avec une mantisse et un exposant. - caractre : octet correspondant un code ASCII. - chane de caractres : ensemble de caractres. - tableau de donnes : ensemble de donnes de mme type (exemple : tableau dentiers, tableau de rels).
Toutes ces donnes sont codes sous forme d'octets en mmoire.
Constante : donne manipule par un programme et ne pouvant tre modifie. Exemple : Constante Pi = 3.141559
SYMBOLE DESIGNATION SYMBOLE DESIGNATION Symboles de traitement Symboles auxiliaires
Symbole gnral Opration sur des donnes, instructions, Renvoi Connecteur utilis la fin et en dbut de ligne pour en assurer la continuit
Sous-programme Portion de programme Dbut, fin ou interruption dun algorithme
Entre-Sortie Mise disposition ou enregistrement dune information
Symbole de test
Branchement Dcision dun choix parmi dautres en fonction des conditions
Liaison Les diffrents symboles sont relis entre eux par des lignes de liaison. Le cheminement va de haut en bas et de gauche droite. Un cheminement diffrent est indiqu laide dune flche. COURS ALGORITHME
ALGO Page 2/8
Variable : donne manipule par un programme et pouvant tre modifie. Ce peut tre : - une donne dentre ; - le rsultat final dun calcul ; - un rsultat intermdiaire de calcul.
Identificateur : nom explicite dune constante, dune variable ou dune fonction. Exemples : Conversion_BCD, Rsultat, Lettre
Procdures et fonctions : Une procdure ou une fonction effectuent une suite dactions lmentaires constituant un tout. Une fonction se diffrencie dune procdure par le fait quelle fournit un rsultat.
2. ORGANISATION DUN PROGRAMME
Lalgorithme dun programme est organis en plusieurs parties : dclaration des constantes dclaration des variables dfinition des fonctions et procdures dfinition du programme principal
algorithme nom de lalgorithme ;
const liste des constantes ; var listes des variables ; struc liste des structures ;
fonc liste des fonctions ;
proc liste des procdures ;
dbut action 1 ; action 2 ; . . . action n ; fin algorithme
2.2 Dclaration des variables Syntaxe : Variable NomVariable : [Type]
Exemples : Variable Rayon : Reel Variable Compteur : Entier Variable Lettre : Caractere Len-tte Dclaration des constantes, variables Dfinition des fonctions et procdures Dfinition du corps de lalgorithme COURS ALGORITHME
ALGO Page 3/8
2.3 Dfinition des fonctions et procdures Les procdures et fonctions peuvent ncessiter ventuellement un ou plusieurs paramtres dentre ou de sortie. Un paramtre dentre est la rfrence une variable manipule par la procdure ou la fonction. Un paramtre de sortie est une valeur renvoye par une fonction. Une fonction ou une procdure peut elle-mme appeler une ou plusieurs fonctions et procdures.
Syntaxe de la dclaration dune fonction : Fonction NomFonction (NomEntre1 : [Type], NomEntre2 : [Type],) : [TypeDuRsultat] Constante ~ dclaration des constantes locales ~ Variable ~ dclaration des variables locales ~ Dbut ~ description des actions effectues par la fonction ~ Fin
Syntaxe de lappel dune fonction : Variable NomFonction (NomEntre1, NomEntre2)
Exemple de dclaration de fonction : Fonction Moyenne (Note1 : Reel, Note2 : Reel) : Reel Variable Intermediaire : Reel Dbut Intermediaire Note1 + Note2 Intermediaire Intermediaire / 2 Moyenne Intermediaire Fin
Exemples dutilisation de la fonction : Afficher (Moyenne(10.5,15)) ou NouvelleNote Moyenne (10,5.5)
Nota : la dclaration et lappel dune procdure ne sont pas dvelopps ici.
2.4 Dfinition du programme principal Le programme principal consiste en une suite doprations lmentaires faisant souvent appel des fonctions ou procdures. Ces diffrentes oprations sont mentionnes en utilisant les structures algorithmiques dcrites au paragraphe 5.
Le programme principal est dlimit par les mots-clefs Dbut et Fin
3. AFFECTATION
Une affectation consiste attribuer une valeur une variable. La syntaxe gnrale est la suivante : NomVariable Expression Expression peut tre : une constante. ......................................................................................Ex : surface 40 une autre variable. .........................................................Ex : Donnee ValeurMemorisee le rsultat dune fonction. .............................................. Ex : resultat racine (nombre) un calcul portant sur ces diffrents lments. .... Ex : surface (PI * Carre (Diametre)) / 4
Nota : Un abus dcriture nous amne parfois voir le signe = la place de la flche. Cest valable normalement pour lcriture en langage de programmation (Basic compil, Pascal, ) mais pas dans un algorithme.
COURS ALGORITHME
ALGO Page 4/8
4. OPERATEURS CONDITIONS
4.1 Oprateurs Les oprateurs permettent dlaborer une expression en vue deffectuer un calcul ou une comparaison. Lusage des parenthses est vivement conseill dans le cas dexpressions complexes.
Nature Variables utilises Notation Signification + Addition Oprateurs arithmtiques Entier - Soustraction Rel * Multiplication / Division (relle) DIV Division entire MOD Reste de la division entire et Fonction ET Oprateurs logiques Boolen ou Fonction OU Entier ouex Fonction OU EXCLUSIF non Fonction NON Oprateur de concatnation Chane de caractres + Concatnation Boolen = Egal Entier Diffrent Oprateurs de comparaison Rel < Infrieur Caractre > Suprieur Chane de caractres ! Infrieur ou gal " Suprieur ou gal
4.2 Conditions Dans les structures algorithmiques qui vont suivre, le terme Condition peut reprsenter : une condition simple : Ex : x 1 0 Indice 3 80 une condition complexe : Ex : (x > 0) ET ((y > 0) OU (z > 0)) (Indice " 1) ET (Indice ! 10) ~ pour 1 ! Indice !10 ~
5. LES STRUCTURES ALGORITHMIQUES
Les structures algorithmiques sont rparties en 3 catgories : - structures linaire d'oprations; - structures alternatives (ou conditionnelles) ou de choix : en fonction d'une condition, le programme excute des oprations diffrentes; - structures itratives ou rptitives: sous contrle d'une condition, une squence d'oprations est excute rptitivement.
5.1 Structure linaire Les actions successives sont mentionnes les unes aprs les autres.
Syntaxe Algorigramme
Action1 Action2 ... ActionN
Remarque : dans la suite, la notation Actions ou ActionsN reprsentera une succession dactions comme ci-dessus.
Exemple : Calcul dun produit de 2 nombres Variable a,b : rel ~ oprandes ~ p : rel ~ rsultat du produit ~
Action 1
Action 2
Action N COURS ALGORITHME
ALGO Page 5/8
Dbut Afficher (Saisir le nombre a ) Saisir (a) Afficher (Saisir le nombre b ) Saisir (b) p a * b afficher (p) Fin
5.2 Structures alternatives 5.2.1 Structure SI ... ALORS ... Une condition est teste pour dterminer si laction ou le groupe dactions suivant doit tre excut.
Syntaxe Algorigramme
Si Condition Alors Actions FinSi
Remarque : au lieu de FinSi on crit aussi fsi
Exemple : Calcul dune racine carre Variable x: rel ~ oprande ~ r: rel ~ rsultat de la racine carre ~ Dbut Afficher (Saisir le nombre x) Saisir (x) Si x > 0 Alors r racine (x) afficher (r) FinSi Fin
5.2.2 Structure SI ... ALORS ...SINON ... Une condition est teste pour dterminer quelle action ou quel groupe dactions doit tre excut.
Syntaxe Algorigramme
Si Condition Alors Actions1 Sinon Actions2 FinSi
Exemple : Calcul dune racine carre Variables : x: rel ~ oprande ~ r: rel ~ rsultat de la racine carre ~ Dbut Afficher (Saisir le nombre x) Saisir (x) Si x < 0 Alors afficher (x est ngatif) Sinon r racine (x) afficher (r) FinSi Fin Condition
Actions Condition
Actions1
Actions2 COURS ALGORITHME
ALGO Page 6/8
5.2.3 Structure de choix multiple
Une donne est compare successivement des valeurs constantes :
Syntaxe Algorigramme
Suivant Donne faire Valeur1 : Actions1 Valeur2 : Actions2 ... ValeurN : ActionsN Sinon ActionsN+1 FinSuivant
Remarques : la partie ActionsN+1 peut ne pas exister. Plusieurs valeurs diffrentes peuvent tre regroupes sur une mme ligne si les actions correspondantes sont identiques.
Exemple : Affichage de la nature dun caractre Variable c: caractre ~ caractre saisi au clavier ~ Dbut Afficher (Taper un caractre) Saisir (c) Suivant c Faire A..Z : afficher (Lettre majuscule) a..z : afficher (Lettre minuscule) 0..9 : afficher (Chiffre) Sinon afficher (Ni Lettre Ni Chiffre) FinSuivant Fin
5.3 Structures itratives (ou rptitives)
5.3.1 Structure REPETER ... JUSQUA ... Une action ou un groupe dactions est excut rptitivement jusqu' ce quune condition soit vrifie.
Syntaxe Algorigramme
Rpter Actions Jusqua Condition
Remarque : la vrification de la condition seffectue aprs les actions. Celles-ci sont donc excutes au moins une fois.
Exemple : excution rptitive dun programme Variables : a,b : rel ~ oprandes ~ p : rel ~ rsultat du produit ~ c : caractre ~ rponse de lutilisateur ~
Donne = Valeur1
Actions1
Actions2
Donne = Valeur2
Donne = ValeurN
ActionsN
ActionsN+1 Condition
Actions COURS ALGORITHME
ALGO Page 7/8
Dbut Rpter Afficher (Saisir le nombre a ) Saisir (a) Afficher (Saisir le nombre b ) Saisir (b) p a * b afficher (p) afficher (encore un calcul ? Non touche N ; Oui autre touche) saisir (c) Jusqu' c = N Fin
5.3.2 Structure TANT QUE ... FAIRE ... Une action ou un groupe dactions est excut rptitivement tout le temps o une condition est vraie.
Syntaxe Algorigramme
TantQue Condition Faire Actions FinFaire
Remarque : la vrification de la condition seffectue avant les actions. Celles-ci peuvent donc ne jamais tre excutes.
Exemple : Excution rptitive dune action Dbut Tant Que Non (ToucheAppuye) Faire Afficher (Attente) FinFaire Fin
5.3.3 Structure POUR Indice DE ... A .... FAIRE ... Une action ou un groupe dactions est excut rptitivement un certain nombre de fois : le nombre dpend des valeurs initiale et finale donnes la variable Indice .
Syntaxe Algorigramme
Pour Indice De Val1 A Val2 Faire Actions FinFaire
Remarque : les valeurs initiale (Val1) et finale (Val2) sont incluses dans le comptage. Il est ventuellement possible de spcifier un autre pas dincrmentation (+2,+10,- 1....)
Condition
Actions Indice>Val2
Actions
Indice Val1
Indice Indice+1 COURS ALGORITHME
ALGO Page 8/8
Exemple : Affichage dune ligne dtoiles Variable i : entier ~ compteur de boucles ~ Dbut Pour i de 1 80 Faire Afficher (*) FinFaire Fin
Remarque : cette structure algorithmique peut en fait tre remplace par une structure TANT QUE ... FAIRE
Variable i : entier ~ compteur de boucles ~ Dbut i 1 Tant Que i " 80 Faire Afficher (*) i i +1 FinFaire Fin
Par la suite, nous nous intresserons plus particulirement aux structures algorithmiques du programme principal.