Documente Academic
Documente Profesional
Documente Cultură
Algorithmique
Page |1
TS Base de données
Matière : Algorithmique
Objectif pédagogique :
2- Définir un algorithme
1- Introductions :
L’algorithmique est un terme d’origine arabe, comme algèbre.
Dans la vie sans le savoir, vous avez déjà exécuté des algorithmes.
1- Définition 1
Un algorithme, c’est une suite d’instructions, qui une fois exécutée
correctement, conduit à un résultat donné.
a- L’organigramme une représentation graphique, avec des carrés, des losanges, etc.
qu’on appelait des organigrammes. Aujourd’hui, cette représentation est quasiment
abandonnée.
il faut avoir une certaine intuition, car aucune recette ne permet de savoir a priori quelles
instructions permettront d’obtenir le résultat voulu. C’est là, si l’on y tient, qu’intervient la
forme « d’intelligence » requise pour l’algorithmique. Alors, c’est certain, il y a des gens qui
possèdent au départ davantage cette intuition que les autres. Cependant, et j’insiste sur ce
point, les réflexes, cela s’acquiert. Et ce qu’on appelle l’intuition n’est finalement que de
l’expérience tellement répétée que le raisonnement, au départ laborieux, finit par devenir «
spontané ».
il faut être méthodique et rigoureux. En effet, chaque fois qu’on écrit une série
d’instructions qu’on croit justes, il faut systématiquement se mettre mentalement à la place
de la machine qui va les exécuter, armé d'un papier et d'un crayon, afin de vérifier si le
résultat obtenu est bien celui que l’on voulait. Cette opération ne requiert pas la moindre
once d’intelligence. Mais elle reste néanmoins indispensable, si l’on ne veut pas écrire à
l’aveuglette.
Et petit à petit, à force de pratique, vous verrez que vous pourrez faire de plus en plus
souvent l’économie de cette dernière étape : l’expérience fera que vous « verrez » le
résultat produit par vos instructions, au fur et à mesure que vous les écrirez.
Naturellement, cet apprentissage est long, et demande des heures de travail patient. Aussi,
dans un premier temps, évitez de sauter les étapes : la vérification méthodique, pas à pas,
de chacun de vos algorithmes représente plus de la moitié du travail à accomplir.
TS en Informatique Option Base de Données
Algorithmique
Page |7
L'en-tête
algorithme nom de l'algorithme ;
const
var
fonc
liste des fonctions ;
Les déclarations de fonctions et procédures
proc
liste des procédures ;
début
Le corps de l'algorithme
action 1 ;
action2 ;
.
.
.
action n ;
fin
TS en Informatique Option Base de Données
Algorithmique
Page |8
1. L'en-tête
Il permet d'identifier un algorithme.
2. Les déclarations
C'est une liste exhaustive des objets, grandeurs utilisés et manipulés dans le
corps de l ' algorithme ; cette liste est placée en début d'algorithme.
3. Le corps
4. Les commentaires :
Les commentaires sont utilisés juste pour une explication. Il ne seront pas pris en compte.
Un commentaire est encadré par deux { }
TS en Informatique Option Base de Données
Algorithmique
Page |9
Exemple :
Algorithme somme ;
{cet algorithme calcule la somme deux de entier}
Début
Lire (a,b) ;
Lesomme A+b ;
Afficher (lasomme) ;
Fin.
Elles représentent des chiffres, des nombres, des caractères, des chaînes de caractères, … dont la
valeur ne peut pas être modifiée au cours de l'exécution de l'algorithme.
b) Les variables :
Les constantes et les variables sont définies dans la partie déclarative par deux caractéristiques
essentielles, à savoir :
L' identificateur : c'est le nom de la variable ou de la constante. Il est composé de lettres et de chiffres
b-1) L’identificateur :
Un symbole est un nom qui étiquette une variable, une constante.
Dans le problème précédent, "r" et "A" sont les noms des variables. "r"
et "A" sont des cases mémoire qui contiendront les valeurs du rayon et
le résultat du calcul.
Exemple :
Var a, b : entier ;
Réserver deux boites ou case mémoire une va être identifiée par
l’étiquette a et l’autre b .
a b
Déclaration de constantes:
Une constante est déclarée en spécifiant son identificateur et sa
valeur
Remarques :
Exercices :
Résoudre les problèmes suivants en suivant les étapes vue
en cours:
Solution :
Phase 0 : Énoncé (spécifications).
On veut calculer la surface d’un rectangle.
Phase 1 : Analyse.
A partir de l'énoncé on doit définir les flux entrants (les données du problème), les flux
sortants (les résultats du problème), et le moyen de passer des uns aux autres.
On détermine aisément le résultat il fait partie de l’énoncé (la surface d’un rectangle), ce qui
n’est pas le cas des données.
On va donc mettre en place un calcul permettant de déterminer le résultat.
Résultat
La surface du rectangle SURF
Traitement
SURF = LONG * LARG
Données
Avec
La longueur du rectangle LONG
La largeur du rectangle LARG
Phase 2 : L'algorithme associé à son lexique.
Lexique
LONG (réel) La longueur du rectangle
LARG (réel) La largeur du rectangle
SURF (réel) La surface du rectangle
Début
Lire(LONG, LARG)
SURF LONG * LARG
Ecrire(SURF)
Fin
Exercice 2 :
TS en Informatique Option Base de Données
Algorithmique
P a g e | 14
Énoncé (spécifications).
Un diplôme d’informatique est composé de deux tests et d’un examen.
On veut calcule la moyenne générale d’un étudiant, sachant que la note de l’examen est
affectée du coefficient 2.
On affichera le nom, le prénom, les trois notes, et la moyenne obtenue.
Solution :
Phase 1 : Analyse
Un diplôme d’informatique est composé de deux tests et d’un examen. On
veut calculer la moyenne générale d’un étudiant, sachant que la note de
l’examen est affectée du coefficient 2.
On affichera le nom, le prénom (données et résultats), les trois notes, et la
moyenne
obtenue.
Données
La note du premier test TEST1
La note du second test TEST2
La note de l’examen EXAM
Le nom de l’étudiant NOM
Le prénom de l’étudiant PRENOM
Traitement
MOYGEN = (TEST1 + TEST2 + 2 * EXAM) / 4
Résultat
La moyenne générale à l’examen informatique MOYGEN
Le nom de l’étudiant NOM
Le prénom de l’étudiant PRENOM
Phase 2 : L'algorithme associé à son lexique.
Lexique
TEST1 (réel) La note du premier test
TEST2 (réel) La note du second test
EXAM (réel) La note de l’examen
NOM (chaîne) Le nom de l’étudiant
PRENOM (chaîne) Le prénom de l’étudiant
TS en Informatique Option Base de Données
Algorithmique
P a g e | 15
Exercice 3 :
Phase 0 : Énoncé (spécifications).
A partir d’une quantité de produit achetée à un prix hors taxe on veut établir la facture
d’un client dont on connaît le nom. La facture fera apparaître le nom, le montant hors
taxe, et toute taxe sachant qu’on applique un taux de taxe de 10%.
Solution
Phase 1 : Analyse
A partir de l'énoncé on doit définir les flux entrants (les données du problème), les flux
sortants (les résultats du problème), et le moyen de passer des uns aux autres.
Procédons à une analyse du texte pour y rechercher les données, les résultats et les
constantes.
A partir d’une quantité de produit achetée à un prix hors taxe on veut établir la facture
d’un client dont on connaît le nom. La facture fera apparaître le nom, le montant hors
taxe, et toute taxe sachant qu’on applique un taux de taxe de 10% ( qui est une
constante).
Données
une quantité de produit achetée QUANT
le prix hors taxe du produit achetée PRIHT
le nom du client NOM
Résultat
le nom du client NOM
le montant hors taxe MONTHT
le montant toute taxe APAYER
Traitement
MONTHT QUANT * PRIHT
APAYER MONTHT + TAXE
TAXE MONTHT * 10%
Ou plus judicieusement (pour des objectifs de maintenance adaptative)
TS en Informatique Option Base de Données
Algorithmique
P a g e | 16
TS Base de données
Matière : Algorithmique
TS en Informatique Option Base de Données
Algorithmique
P a g e | 17
Leçon : I nstruction d’ a f f e c t a t i o n
Objectif pédagogique :
Introduction :
a- Une constante :
Variable constante ;
Exemple 1 : A 3 on lit
A reçoit 3
3 est affectée à A
A est l’identifiant d’une case mémoire.
Donc on peut représenter A avant et après l’affectation comme suit :
Avant l’affectation : A
Après l’affectation : A 3
Avant l’affectation : PI
Exemple 3 :
Var trouve : booleen ;
Trouve faux ;
Remarque :
La constante doit être de même type que la variable.
b- Une variable :
Variable variable;
Si A 10 ;
B 13 ;
A B;
– La valeur de B est affectée à la variable A
– La valeur de B ne change pas.
– L’ancienne valeur de A est écrasée
Exemple 2 :
Déroulez la séquence d’instruction suivante puis donnez les valeurs
des variables X,Y et Z après exécution des instructions?
Var X,Y,Z : Entier ;
Début
X -3 ;
Y 10 ;
Z 0;
XY;
YZ;
TS en Informatique Option Base de Données
Algorithmique
P a g e | 20
ZX;
Fin.
Déroulement :
X Y Z
X -3 ; -3
Y 10 ; -3 10
Z 0; -3 10 0
XY; 10 10 0
YZ; 10 0 0
ZX; 10 0 10
Remarque :
Les deux variables doivent être de même type.
a- Résultat d’un calcul
Variable expression ;
Le résultat de l’évaluation de l’expression sera affectée à la variable.
L’expression peut être une
c-1- Expression arithmétique
Une expression arithmétique est une combinaison ordonnée
d’opérandes et de symbole d’opérations algébriques appelés
opérateurs.
Exemple : 2 * A + C - 1.5
2, A, C, 1.5 sont des opérandes
+, - , * sont les opérateurs.
c-1-1- les opérateurs :
Il existe 4 opérateurs +, -, *, /
Qui représentent l’addition , la soustraction, le produit ou la
multiplication et la division.
c-1-2- Evaluation d’une expression arithmétique
Une expression arithmétique fait intervenir plusieurs opérandes et
plusieurs opérateurs.
Le calcul de cette expression est décomposé par l’ordinateur en une suite
d’opérations ne faisant intervenir d’un opérateur chacun.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 21
Exercices :
Exo1
Soient y, x, a, b des variables réelles de valeurs 3 , -1 , 0 , 2.1
Quel est le résultat de chaque expression :
(x<y) et (a>b)
(0<x) ou (a>=b)
(x=1) ou (x=3)
Exo2
Soit l’expression arithmétique
C - (A+B)*(2 – D)/4
1- Donner dans l’ordre, les opérations exécutées lors de l’évaluation de
l’expression, justifier.
2- On suppose qu’au moment du calcul les variables A,B,C et D ont
respectivement
2 , 3 , 8 et -6
Donner le résultat de l’évaluation.
Exo 3
1- Cette déclaration est-elle vraie ou fausse ?
Const nbr1 = 1.25 ;
Test = vrai ;
Nbdr2 = -258 ;
2- Cette séquence est-elle correcte oui ou non ?
Const x= 12.14 ;
Chaine = ‘bonjour’ ;
Var
Y : reel ;
Début
Y -125.23 ;
X x +y ;
……………
Fin.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 24
Exo 4
1- Quelles seront les valeurs des variables A et B après exécution des
instructions suivantes?
Var A, B : Entier
Début
A←1
B←A+3
A←3
fin
2- Var A, B, C : Entier ;
Début
A←5;
B←3;
C←A+B;
A←2;
C←B–A;
Fin.
Exo5 :
Ecrire des algorithmes qui :
1- Permute deux entiers A et B tels que A =15 et B = -2.
2- Calcule la surface et le périmètre d’un cercle dont vous fixez la
valeur du rayon.
3- Calculer la moyenne de 3 entiers x,y,z.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 25
TS Base de données
Matière : Algorithmique
Objectif pédagogique :
Définition :
(1)Var N : entier ;
(2)Lire (N) ;
Exécution :
Exemple :
Var A,B,C : entier ;
Lire (a,b,c) ;
A l’exécution de cette instruction, la machine attend que l’utilisateur lui
fournisse trois valeurs à affecter à A, B et C respectivement.
Si l’utilisateur tape -1 0 4 les valeurs des variables sont
TS en Informatique Option Base de Données
Algorithmique
P a g e | 27
A -1 0 B 4 C
Remarque s :
Exo1
Lire(x) ;
Yx*2+4 ;
Lire(z) ;
Y y+z;
Sachant que les valeurs tapées sont 3 puis 5.
Exo2
Même question
Lire (nom) ;
Lire(age) ;
Lire (note) ;
Exo3
Exo4 :
Ecrire un algorithme qui calcule l’âge d’une personne en l’an 2020 sachant
sans année de naissance.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 28
TS Base de données
Matière : Algorithmique
Leçon : I nstruction d’ é c r i t u r e
Objectif pédagogique :
(Affectation), Lire et Afficher.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 29
TS en Informatique Option Base de Données
Algorithmique
P a g e | 30
Définition :
(1)Var N : entier ;
(2) N 2 ;
(3)Afficher (N) ;
2 10 17
Série d’exercices
Exo 1 : Ecrire un algorithme qui calcule et affiche le net à payer pour une
marchandise acheté de quantité Q et avec un prix unitaire PU.
Exo2 : Ecrire un algorithme qui lit le nom et prénom d'un stagiaire, ses notes de pascal,
fichier et anglais et affiche sa moyenne comme suit:
Si le nom et prénom entrés sont KADI Fodil le résultat affiché sera
Le stagiaire KADI Fodil a une moyenne de 12,50
Exo3 : Ecrire un algorithme qui calcule la somme, le produit, la division et la
différence entre deux entiers A et B.
Exo4 : Ecrire un algorithme qui calcule la surface et le périmètre d'un rectangle.
Exo5 : Ecrire un algorithme qui permute deux entiers.
Exo6 : Ecrire un algorithme qui calcule l'âge d'une personne connaissant son
année de naissance.
EXO7 : Ecrire un algorithme Qui permute de façon circulaire 3 entiers X,y et z.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 33
Objectif :
Plan :
Introduction
3- Exercices
TS en Informatique Option Base de Données
Algorithmique
P a g e | 34
Algorithme test_positif ;
Var N : entier ;
Début
Afficher (‘Tapez un entier à tester :’) ;
Lire (N) ;
Si N > 0 Alors
Afficher (N,’est un entier
positif’) ;
Afficher (‘Merci’) ;
Fin.
Déroulement
Exemple 1 : Exemple 2 :
Exemple 2 :
Ecrire un algorithme qui teste si un entier donné est multiple de 5 :
Un entier est multiple de 5 si le reste de la division de l’entier et 5 est
égale = 0.
Mod est une fonction qui renvoie le reste de la division.
Par exemple 7 mod 5 vaut 2
Algorithme multiple_5 ;
Var A : entier ;
Début
Afficher (‘Tapez un entier :’) ;
Lire (A) ;
Si A mod 5 = 0 Alors
Afficher (A,’est un multiple de
5’) ;
TS en Informatique Option Base de Données
Algorithmique
P a g e | 36
Fin.
Syntaxe :
Si expression booléenne Alors
Instruction 1
Sinon
Instruction2 ;
Finsi
Ou
Si expression booléenne Alors
Début
Instruction1 ;
Instruction2 ;
.
.
Fin
Sinon
Début
InstructionI ;
InstructionII ;
.
.
Finsi
TS en Informatique Option Base de Données
Algorithmique
P a g e | 37
Exemple :
Algorithme qui test si un nombre entier entré au clavier est positif ou
négatif.
Un entier est positif s’il est supérieur à 0 et négatif s’il est inférieur à 0.
Algorithme test_positif_negatif ;
Var N : entier ;
Début
Afficher (‘Tapez un entier à tester :’) ;
Lire (N) ;
Si N > 0 Alors
Afficher (N,’est un entier
positif’)
Sinon
Afficher (N,’est un entier
Afficher (‘Merci’) ;
Fin.
Déroulement
Exemple 1 : Exemple 2 :
Exemple 4 :
Ecrire un algorithme qui test si un entier donné est paire ou impaire.
Résolution
Un nombre entier est pair s’il est divisible par deux, dans le cas contraire il est impair.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 38
D’un point de vue mathématique un nombre est divisible par 2 si le reste de la division entière
du nombre par 2 est égal à 0.
Illustration
5 2 8 2
2 0 4
1
5 est impair 8 est pair
Algorithme test_parité ;
Var N : entier ;
Début
Afficher (‘Tapez un entier à tester :’) ;
Lire (N) ;
III-3- Imbrication de Si
Il se peut que dans certain cas que l’expression d’un Si ne suffise pas pour
exprimer tous les cas de figure.
On a recoure dans ces cas là, à des Si imbriqués.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 39
Si condition1 alors
Si condition2 alors
Instruction1
Finsi
Sinon
Si condition3 alors
Si condition4 alors
Instruction 2
Sinon
Instruction3
Finsi
Finsi
Exemple : écrire un algorithme qui affiche la tarification d’une lettre selon
son poids :
– Poids ≤ 20 g : 50 DA
– 20<Poids≤50g : 100 DA
– Poids >50 g: 150DA
TS en Informatique Option Base de Données
Algorithmique
P a g e | 40
Ecriture de l’algorithme :
Algorithme calculatrice ;
Var a,b : entier ; (* comme il peuvent être de type réél*)
Op : char ; (* désigne l’opération à effectuer entre a et b *)
Début
Afficher (‘Taper deux entier’) ;
Lire(a,b) ;
Afficher(‘Taper l’opération que vous voulez effectuer +,*,-
ou /’) ;
Lire (op) ;
Si op = ‘+’ alors
Afficher (a,’+’,b,’=’,a+b)
Sinon
Si op = ‘-’ alors
Afficher (a,’-’,b,’=’,a-b)
Sinon
Si op = ‘*’ alors
Afficher (a,’*’,b,’=’,a*b)
Sinon
Si op = ‘/’ alors
Afficher (a,’/’,b,’=’,a/b)
Sinon
Afficher(‘l’’oparétion tapée n’’est pas
valide’) ;
Finsi
TS en Informatique Option Base de Données
Algorithmique
P a g e | 41
Valeurn : Instructionn ;
Sinon
Instruction ;
Fin ;
Après évaluation de l’expression, et suivant la valeur qu’elle prend
(valeur1,valeur2,….,valeurn), l’instruction correspondante s’exécute.
Autrement, l’instruction selon le cas peut être écrite :
Si expression = valeur1 alors instruction1
Si expression = valeur2 alors instruction2
Fin ;
Exple2 Un intervalle :
Selon le cas valeur
1..9 : afficher(‘Unité’) ;
10..19 : afficher (‘Diziane’) ;
Fin ;
Exple3 caractère
Selon le cas valeur
‘A’,’a’: afficher(‘1ère lettre de l’alphabet’) ;
‘B’,’b’: afficher(‘2ème lettre de l’alphabet’) ;
12: afficher(‘Décembre’) ;
Fin ;
• Les cas doivent s’exclure mutuellement
Exemple :
Selon le cas X Le cas 2 intervient dans les 2 acs
2,3 : …………… ;
2,4 :…………… ;
Fin ;
Algorithme calculatrice ;
Var a,b : entier ; (* comme il peuvent être de type réél*)
Op : char ; (* désigne l’opération à effectuer entre a et b *)
Début
Afficher (‘Taper deux entier’) ;
Lire(a,b) ;
Afficher(‘Taper l’opération que vous voulez effectuer +,*,-
ou /’) ;
Lire (op) ;
Selon le cas op
‘+’ : Afficher (a,’+’,b,’=’,a+b) ;
‘-‘ : Afficher (a,’-’,b,’=’,a-b) ;
‘*’ : Afficher (a,’*’,b,’=’,a*b) ;
‘/’ : Afficher (a,’/’,b,’=’,a/b) ;
Sinon
Afficher (‘opération invalide’) ;
Fin ;
Fin.
Série d’exercices :
Exo1 :
Ecrire un algorithme qui calcule le minimum entre deux nombres réels a et b .
Exo2 :
TS en Informatique Option Base de Données
Algorithmique
P a g e | 44
Exo6 :
Dans un algorithme, Les expressions booléennes sont généralement évaluées à
l’aide de comparaisons.
Est-ce que la comparaison suivante est valable ? Sinon comment peut on
l’exprimer correctement.
agemin ≤age≤age max
Exo7 :
Un magasin offre eune réduction sur achat dans les conditions suivantes :
• Si le montant d’achat est inférieur à 350 DA, il n’y a pas de réduction,
• Si le montant d’achat est compris entre 350 DA et 600 Da, le taux de la
réduction est de 2 %.
• Si le montant d’achat est supérieur à 600 DA, le taux de réduction est de
3%.
Ecrire l’algorithme qui calcule le net à payer,
Sachant : net à payer = montant d’achat – montant de réduction
Montant de réduction = montant d’achat * taux de réduction
Exo8 :
Ecrire un algorithme qui résous une équation de second degré ax²+bx+c=0
Exo9 :
Ecrire un algorithme qui lit trois notes d’examens et leurs coefficients, puis
affiche la moyenne précisant Eliminé pour une moyenne inferieur à 10 et Admis
si la moyenne est supérieur ou égale à 10 avec une mention Passable pour une
moyenne <12 et Assez Bien pour une moyenne < 14 et Bien pour une
moyenne < 16 et enfin Très bien pour une moyenne ≥16
Exo10 :
Ecrire un algorithme qui lira au clavier l’heure et les minutes, et il affichera
l’heure qu’il sera une minute plus tard. Par exemple, si l'utilisateur tape 21 puis
32, l'algorithme doit répondre :
TS en Informatique Option Base de Données
Algorithmique
P a g e | 45