Vous êtes sur la page 1sur 20

Algorithmique

1ere Annee LMD


Semestre 2
Dr A. Rahmoun

SOMMAIRE
ALGORITHMIQUE
1) Dfinitions. ..................................................................................................... 2
2) Organisation dun programme. ...................................................................... 2
2.1) Dclaration des constantes ......................................................................... 2
2.2) Dclaration des variables ............................................................................ 3
2.3) Dfinition du programme principal................................................................ 3
2.4) Dfinition des fonctions et procdures.......................................................... 3
3) Affectation...................................................................................................... 4
4) Oprateurs - Conditions. ................................................................................ 4
4.1) Oprateurs................................................................................................. 4
4.2) Conditions .................................................................................................. 4
5) Les Structures algorithmiques. ...................................................................... 5
5.1) Squencement linaire ............................................................................... 5
5.2) Structures de choix (ou conditionnelles) ....................................................... 5
5.2.1) Structure SI ... ALORS .......................................................................... 5
5.2.2) Structure SI ... ALORS ...SINON ... ........................................................ 6
5.2.3) Structure de choix multiple..................................................................... 6
5.3) Structures itratives (ou rptitives) ............................................................. 7
5.3.1) Structure REPETER ... JUSQUA ........................................................... 7
5.3.2) Structure TANT QUE ... FAIRE .............................................................. 8
5.3.3) Structure POUR Indice ALLANT DE ... A .... FAIRE ................................ 8

1) DEFINITIONS.
Algorithme : Description en langage naturel de la suite des
actions effectues par un programme.
Algorigramme : Traduction graphique de lalgorithme. Parfois

appel Ordinogramme ou Organigramme.


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; entiers + ou - )
- rels : valeurs numriques codes avec une mantisse et un
exposant. (3.14, 456.765 , .)
- caractre : octet correspondant un code ASCII. (A, B, a, b, &..)
- chane de caractres : ensemble de caractres. (mot)
- 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
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, Resultat, Lettre
Procdures et fonctions : Une procdure ou une fonction
effectue 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 du programme principal
dfinition des fonctions et procdures
2.1) Dclaration des constantes

Syntaxe : Constante NomConstante : [Type] =


Valeur
Exemples : Constante Pi = 3.141559

Constante NombreLettres = 10

2.2) Dclaration des variables


Syntaxe : Variable NomVariable : [Type]
Exemples : Variable Rayon : Reel
Variable Compteur : Entier
Variable Lettre : Caractere
2.3) 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

2.4) 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 procdure :
Procdure NomProcdure (NomEntre1 : [Type], NomEntre2 :

[Type],)
Constante ~ dclaration des constantes locales ~
Variable ~ dclaration des variables locales ~
Dbut

~ description des actions effectues par la procdure ~


Fin
Syntaxe de lappel dune procdure :
NomProcdure (NomEntre1, NomEntre2)

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)
Exemples dappels de fonctions et procdures :
Procdure sans paramtre : Effacer_Ecran
Procdure avec un paramtre dentre : Ex : Afficher (Bonjour)
Fonction avec paramtres dentre et de sortie :
Ex : Resultat = Racine (69)

Exemple de dclaration de fonction :


Fonction Moyenne (Note1 : Reel, Note2 :
Reel) : Reel
Variable Intermediaire : Reel
Dbut
Intermediaire = (Note1 + Note2)/2
Moyenne = Intermediaire
Fin
Exemples dutilisation de la fonction :
Afficher (Moyenne(10.5,15))

Ou

NouvelleNote = Moyenne (10,5.5)

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

4.1) Oprateurs
1. Oprateurs mathmatiques
Addition (et union) + Soustraction (et complment) - Division /

Multiplication (et intersection) * , Egalit =


MOD: renvoie le reste de la division x MOD y
DIV: renvoie le quotient de la division x DIV y
Oprateurs prioritaires : *, /, DIV et MOD.
Oprateurs secondaires : + et -. Vous pouvez utiliser des parenthses.
2. Oprateurs relationnels
Infrieur strict < Infrieur ou gale (et inclu) <=
Suprieur strict >
Suprieur ou gale (et contenant) >=
Diffrent <>
3. Oprateurs logiques :
AND: le "et" logique des maths
OR: le "ou"
XOR: le "ou" exclusif
NOT: le "non"
Priorit des oprateurs
Niveau 1 : NOT.
Niveau 2 : *, /, MOD, DIV, AND.
Niveau 3 : +, -, OR, XOR.
Niveau 4 : =, <, >, <=, >=, <>.

5) LES STRUCTURES ALGORITHMIQUES.


Les structures algorithmiques sont rparties en 3 catgories :
- succession linaire d'oprations;
- structures 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) Squencement linaire
Les actions successives sont mentionnes les unes aprs les
autres.
Syntaxe Algorigramme
Action1
Action2
...
ActionN

Exemple : Calcul dun produit de 2 nombres


Algorithme produit;
Variable
a,b : rel ~ oprandes ~
p : rel ~ rsultat du produit ~
Dbut
Afficher (Saisir le nombre a )
Saisir (a)
Afficher (Saisir le nombre b )
Saisir (b)
p = a * b
afficher (p)
Fin

5.2) Structures de choix (ou

conditionnelles)
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

Exemple : Calcul dune racine carre


Algorithme racine;
Variable
x: rel ~ oprande ~
r: rel ~ rsultat de la racine carre ~
Dbut
Afficher (Saisir le nombre x)
Saisir (x)
program testif1;
Si x > 0
var x,r: real;

Alors
begin

writeln('entrez x:');
r = racine (x)
readln(x);

afficher (r)
if x>0 then r:=sqrt(x) ;

FinSi
writeln('r=',r);
Fin

end.

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 Actions1

Sinon
Actions2
program testif1;
var x,r: real;
begin
writeln('entrez x:'); readln(x);

if x>0 then

begin r:=sqrt(x) ;

writeln('r=',r);
end

else writeln('pas de solution');


end.

Exemple : Calcul dune racine carre


Algorithme racine2
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

Fin

r = racine (x)
afficher (r)
FinSi

5.2.3) Structure de choix multiple


Une donne est compare successivement des valeurs

constantes :
Syntaxe
Cas Ou Donne Vaut
Valeur1 : Actions1
Valeur2 : Actions2

...
ValeurN : ActionsN
Autre : ActionsDfaut

FinCas
Remarques : la partie ActionsDfaut 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


Algoritme affichechar;
Program caseofEX2;
Var car: char;
Variable
Begin
c: caractre
writeln('entrez un character');
Dbut
readln(car);
Afficher (Taper un caractre)
Case car of
'a'..'z' : writeln
Saisir (c)
('minuscule');
Cas Ou c Vaut
'A'..'Z' :
A..Z : afficher (Lettre majuscule)writeln('Majuscule');
'0'..'9' :
a..z : afficher (Lettre minuscule)
writeln('Nombre');
0..9 : afficher (Chiffre)
end;
autre : afficher (Ni Lettre Ni Chiffre)end.
FinCas
Fin

3 .1 Ecrire un algorithme qui rsolut une


quation un degr
Program quation un degr ;
Var a,b : integer ;
x: real ;
Begin
Write ( Introduisez a :) ; Read (a) ;
Write ( Introduisez b :) ; Read (b) ;
x := -b/a ;
WriteLn( la solution est : , x) ;
End.

3.3. Ecrire les algorithmes qui calculent et


affichent le volume dun cylindre de rayon et
de hauteur donns.
Program volume dun cylindre ;
Const : PI:=3.14 ;
Var Vol, rayon, hauteur : real ;
Begin
Write( Introduisez le rayon : ) ;
Read(rayon)
;
Write ( Introduisez la hauteur : ) ;
Read (hauteur) ;
Vol:= PI*rayon*rayon*hauteur ;
Write( Le volume du cylindre est : , Vol) ;
End.

3 .2 Ecrire un algorithme qui donne le carr


dun rel
Program carr dun rel ;
Var x, carre : real ;
Begin
Write ( Introduisez x :) ;
Read (x) ;
carre:= x*x ;
Write( le carr de x est : , carre) ;
End.

3.4. Ecrire les algorithmes qui calculent et


affichent la surface d'un rectangle de longueur et
de largeurs donnes.
Program surface d'un rectangle ;
Var surface, longueur, largeur : real ;
Begin
Write( Introduisez la Longueur : ) ;
Read (longueur) ;
Write ( Introduisez la Largeur:) ;
Read (largeur) ;
Surface:= longueur * largeur ;
Write( La surface du rectangle est : , Surface) ;
End.