Académique Documents
Professionnel Documents
Culture Documents
ALGORITHMIQUE
EXEMPLES D’ALGORITHME
I.INTRODUCTION :
1) Généralités :
a) Algorithme et programme :
b) Langage de programmation :
2) Les étapes de création des programmes :
Demande 1
du client
Analyse Ecriture de
l’algorithme
2
Création du
programme 3
Conception
Génération
de 4
l’exécutable
3) Démarche algorithmique :
a) Phase analyse :
b) Phase conception :
Phase analyse .
Phase conception.
4) Exemple d’analyse d’un problème :
Problème :
Le traitement:
Surface = Longueur X Largeur
Conception :
Type
Nom
Natured’une
Utilisation donnée :
d’une
d’une donnée :
donnée:
donnée :
(Exp :(Exp :
(Exp : entier,
(Exp : Prix_Unitaire,
réel,
Données, caractère, PU, dePrix1,
chaine
Résultats,
Constante, caractère,
Données
P1…..).
bouléen,……..).
intervenantes…..).
Variable…..).
2) Instructions simples :
a) L’affectation :
Exp : LIRE(Nom);
LIRE (A,B,C);
c) Instruction d’écriture
msg ’’Bonjour’’
ECRIRE (msg);
3) Les opérateurs :
a) Opérateurs numériques :
b) Opérateurs alphanumériques :
c) Opérateurs logiques :
ET ; OU ; NON; OU EXCLUSIF
A
+B ; - ; * &
; AND
/; ;+%; *; ^; OR XOR
0 0 0 0 0
0 "bon"+ >,<,=,<>,>=,<=
"jour"
"stop" *1 3 0 « stopstopstop"
1 1
"Bonjour"
1 "bon"& "jour"
0 0 1 1
1 1 1 1 0
EXEMPLE D’OPERATEURS LOGIQUES :
Variable
Bloc de déclaration des données
………………………. ;
DEBUT
……………………….;
Bloc d’instructions
……………………….;
……………………….;
FIN
3) Organigramme :
Forme Interprétation
Début / Fin
Lecture / écriture
Traitement
Test
4) Exemple d’application :
On se propose d’écrire un algorithme qui
calcule la somme et le produit de deux
données numériques.
solution :
ALGORITHME Somme_Produit ;
VARIABLE
a, b : Réel ;
S, P : Réel ;
DEBUT
ECRIRE (’’Donnez deux nombres svp :’’) ;
LIRE (a,b);
Sa + b ;
Pa x b ;
ECRIRE (’’la somme des deux nombres est :’’,S) ;
ECRIRE (’’le produit des deux nombres est :’’,P) ;
FIN
L’organigramme : Début
LIRE (a,b);
Sa + b ;
Pa x b ;
ECRIRE (S) ;
ECRIRE (P) ;
Fin
Exercices d’application:
EXERCICE 1:
Ecrire un algorithme qui permet de saisir et
d’afficher les informations suivantes:
Nom:
Prénom:
Age :
Note physique:
Note mathématique:
EXERCICE 2:
Ecrire un algorithme et qui permet de calculer
et d’afficher la moyenne de trois notes saisies
par le clavier.
III. LES STRUCTURES SELECTIVES:
1) Généralités :
a) Structure séquentielle :
b) Structure conditionnelle :
2) Alternative simple (choix unitaire) :
Syntaxe :
Explication :
3) Organigramme :
N
Test
Traitement
Exemple :
SI (B=0) Alors
Ecrire("la division est impossible");
FINSI
Organigramme :
N
B=0
O
Ecrire(‘la division
est impossible’);
Algorithme :
ALGORITHME Division ;
VARIABLE
A, B : Réel ;
DEBUT
ECRIRE (‘Donnez la valeur de A :’) ;
LIRE (A);
ECRIRE (‘Donnez la valeur de B :’) ;
LIRE (B);
SI (B=0) Alors
Ecrire(‘la division est impossible’);
FINSI
FIN
2) Alternative complète (choix binaire):
Syntaxe :
Si condition Alors
Instruction1 ;
………
SINON
Instruction2;
………
FINSI
3) Organigramme :
N
Test
Traitement 1 Traitement 2
Exemple :
Si (A>0) Alors
Ecrire("A est un nombre positif");
SINON
Ecrire("A est un nombre négatif");
FINSI
Organigramme :
N
A>0
O
Ecrire(‘A est un Ecrire(‘A est un
Traitement 1
nombre positif’); nombre négatif’);
Solution:
ALGORITHME Positif_négatif;
VARIABLE
A : Réel ;
DEBUT
ECRIRE (‘Donnez la valeur de A :’) ;
LIRE (A);
Si (A>0) Alors
Ecrire(‘A est un nombre positif’);
SINON
Ecrire(‘A est un nombre négatif’);
FINSI
FIN
4) Alternative imbriquées :
Syntaxe :
Si condition 1 Alors
Instruction1 ;
SINON
Si condition 2 Alors
Instruction2;
SINON
……..
Instruction3;
FINSI
FINSI
3) Organigramme :
O
Test 1
O
Test 2
0° 100°
OUI
Solide
T<0 OUI
Liquide
T<100
NON
Gazeuse
NON
SI (T<0) ALORS
ECRIRE("l’état de l’eau est solide");
SINON
SI (T<100) ALORS
ECRIRE("l’état de l’eau est liquide");
SINON
ECRIRE("l’état de l’eau est gazeuse");
FINSI
FINSI
Organigramme :
O
T<0
O
T<100
N
ECRIRE(‘l’état de ECRIRE(‘l’état
Traitement 1de ECRIRE(‘l’état de
l’eau est gazeuse’); l’eau est liquide’); l’eau est solide’);
5) Choix multiple :
Syntaxe :
CAS Expression VAUT
VAL1 : instruction 1 ;
VAL2 : instruction 2 ;
……..
VALN : instruction n ;
AUTRE : instructions a;
FINCAS
3) Organigramme :
O
Test 1 Traitement 1
O
Test 2 Traitement 2
O
Test 3 Traitement 3
Traitement 4
Exemple:
FINCAS
Algorithme gestion_Feu ;
Variables
Couleur : Caractère ;
DEBUT
ECRIRE(" De quelle valeur est le feu ? ") ;
LIRE(Couleur);
CAS Couleur VAUT
"VERT " : ECRIRE (" Je passe ") ;
" ORANGE " : ECRIRE (" Je ralentis ") ;
" ROUGE " : ECRIRE (" Je m’arrête ") ;
FINCAS
Fin
Exercices d’application:
EXERCICE 1:
O
Choix =1 R A+B
O
Choix =2 R A-B
O
Choix =3 R A*B
Choix =4 R A/B
Solution:
Algorithme choix_opérations ; ‘1’ : R a+b ;
Variables ECRIRE (‘la somme des deux
a,b :réel ; nombres est : ‘, R) ;
Choix : caractère ; ‘2’ : R a-b ;
R :réel ; ECRIRE (‘la différence des deux
DEBUT nombres est : ‘, R) ;
ECRIRE(‘1-addition’) ; ‘3’ : R a*b ;
ECRIRE(‘2-soustraction) ; ECRIRE (‘le produit des deux
ECRIRE(‘3-multiplication’) ; nombres est : ‘, R) ;
ECRIRE(‘4- division’) ; ‘4’ : si b<> 0 alors
ECRIRE(‘donner votre choix R a/b ;
(1/2/3/4) :’) ; ECRIRE (‘le division des deux
LIRE(choix); nombres est : ‘, R) ;
ECRIRE(‘Entrer les deux nombres’) ; SINON
LIRE(a,b) ; ECRIRE(‘la division par zéro est
Cas choix Vaut impossible’) ;
FINSI
FINCAS
Fin
IV. LES STRUCTURES ITERATIVES:
1) Définition:
2) La boucle TANT QUE .. FAIRE :
a) Syntaxe :
Traitement
FIN TANTQUE
b) Organigramme :
N
Test
Traitement 1
Traitement 2
c) Exemple:
FinTANTQUE
3) La boucle RÉPÉTER .. JUSQU’A :
a) Syntaxe :
REPETER
Traitement
JUSQU’A condition;
b) Organigramme :
Traitement 1
Traitement 2
O
Test
N
c) Exemple:
REPETER
Ecrire(‘’ Entrez un nombre positif SVP’’);
Lire(A);
JUSQU’À (A>0) ;
4) La boucle POUR :
a) Syntaxe :
Traitement
FINPOUR
b) Organigramme :
CM
Traitement
C C+P
N
C<N
O
c) Exemple:
POUR i 0 A 9 FAIRE
Ecrire(i);
FINPOUR
Résumé :
L’itération Utilisation
POUR Le nombre d’itération est connue
REPETER Le nombre d’itération n’est pas connue, le
traitement est exécuté puis la condition est
vérifié,
TANTQUE Le nombre d’itération n’est pas connue, la
condition est vérifié puis le traitement est
exécuté,
Exercices d’application:
EXERCICE 1:
Ecrire un algorithme qui permet de calculer
avec les trois boucles (POUR; REPETER;
TANTQUE) :
S= 1+2+….+9
SOLUTION 1:
S 0; S 0; S 0;
POUR i 1 A 9 FAIRE i 1; i 1;
S S+i; TANTQUE (i<=9) FAIRE REPETER
FINPOUR S S+i; S S+i;
ECRIRE(S); i i+1; i i+1;
FINTANTQUE JUSQU’A (i>9);
ECRIRE(S); ECRIRE(S);
EXERCICE 2:
Ecrire un algorithme qui permet de calculer :
XN= X*X*…..*X
N fois
SOLUTION 2:
P 1;
POUR i 1 A N FAIRE
P P * X;
FINPOUR
EXERCICE 3:
Ecrire un algorithme qui permet de calculer:
X!= 1*2*…..*X
N fois
SOLUTION 3:
F 1;
POUR i 2 A N FAIRE
F F * i;
FINPOUR
IV. LES TABLEAUX: