Académique Documents
Professionnel Documents
Culture Documents
1. DEFINITIONS
ALGORITHME
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 SYMBOLE DESIGNATION Symboles de traitement Symbole gnral Opration sur des donnes, instructions, SYMBOLE DESIGNATION Symboles auxiliaires Renvoi Connecteur utilis la fin et en dbut de ligne pour en assurer la continuit
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.
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
ALGO
Page 1/8
COURS
ALGORITHME
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
Len-tte
algorithme const
nom de lalgorithme ;
var struc
fin algorithme 2.1 Dclaration des constantes Syntaxe : Constante NomConstante : [Type] = Valeur Exemples : Constante Pi : Reel = 3.141559 Constante NombreLettres : Entier = 10
2.2 Dclaration des variables Syntaxe : Variable NomVariable : [Type] Exemples : Variable Rayon : Reel Variable Compteur : Entier Variable Lettre : Caractere Page 2/8
ALGO
COURS
ALGORITHME
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.
ALGO
Page 3/8
COURS
4. OPERATEURS CONDITIONS
ALGORITHME
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 Oprateurs arithmtiques Variables utilises Entier Rel Notation + * / DIV MOD et ou ouex non + = < > Signification Addition Soustraction Multiplication Division (relle) Division entire Reste de la division entire Fonction ET Fonction OU Fonction OU EXCLUSIF Fonction NON Concatnation Egal Diffrent Infrieur Suprieur Infrieur ou gal Suprieur ou gal
Oprateurs logiques
Boolen Entier Chane de caractres Boolen Entier Rel Caractre Chane de caractres
Oprateur de concatnation
Oprateurs de comparaison
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 Action1 Action2 ... ActionN Algorigramme
Action 1 Action 2
Action N
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 ~
ALGO
Page 4/8
COURS
Dbut
ALGORITHME
Afficher (Saisir le nombre a ) Saisir (a) Afficher (Saisir le nombre b ) Saisir (b) pa*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 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 Si Condition Alors Sinon FinSi Actions1 Actions2 Algorigramme
Condition
Algorigramme
Condition
Actions
Actions1
Actions2
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 ALGO Page 5/8
COURS
5.2.3 Structure de choix multiple
ALGORITHME
Une donne est compare successivement des valeurs constantes : Syntaxe Suivant Donne faire Valeur1 : Actions1 Valeur2 : Actions2 ... ValeurN : ActionsN Sinon ActionsN+1 FinSuivant
Donne = Valeur1 Donne = Valeur2 Donne = ValeurN
Algorigramme
Actions1
Actions2
ActionsN
ActionsN+1
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 Rpter Actions Jusqua Condition Algorigramme
Actions
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 ~
ALGO
Page 6/8
COURS
Dbut
ALGORITHME
Rpter Afficher (Saisir le nombre a ) Saisir (a) Afficher (Saisir le nombre b ) Saisir (b) pa*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 TantQue Condition Faire Actions FinFaire Algorigramme
Condition
Actions
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 Pour Indice De Val1 A Val2 Faire Actions FinFaire Algorigramme
Indice Val1
Indice>Val2
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....)
ALGO
Page 7/8
COURS
ALGORITHME
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 i1 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.
ALGO
Page 8/8