Vous êtes sur la page 1sur 8

COURS

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

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.

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 ;

Dclaration des constantes, variables

var struc

liste des constantes ; listes des variables ; liste des structures ;

fonc Dfinition des fonctions et procdures proc

liste des fonctions ;

liste des procdures ;

dbut Dfinition du corps de lalgorithme


action 1 ; action 2 ; . . . action n ;

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

Actions Indice Indice+1

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