Vous êtes sur la page 1sur 45

TS en Informatique Option Base de Données

Algorithmique
Page |1

Chapitre1 : Concepts de base de


l’algorithmique

Chapitre II : Instructions de base

II-1- Instruction d’ Affectation


II-2- Instruction de lecture
II-3- Instruction d’ ecriture

Chapitre III : Instructions conditionnelles


III-1- Instruction conditionnelle Simple
Si alors
III-2- Instruction conditionnelle complète
si alors sinon
III-3- Choix multiple
Exercices
TS en Informatique Option Base de Données
Algorithmique
Page |2

TS Base de données
Matière : Algorithmique

Chapitre I : Concepts de base de


l’algorithmique

Objectif pédagogique :

A la fin du chapitre, le stagiaire sera capable de

1- décrire les étapes à suivre pour résoudre un problème


donné par l’ordinateur.

2- Définir un algorithme

3- Identifier correctement des variables et des constantes


TS en Informatique Option Base de Données
Algorithmique
Page |3

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.

• Pour préparer un gâteaux on suit une recettes de cuisine

• Pour installer et faire fonctionner un magnétoscope (imprimante) on


suit à la lettre le mode d’emploi

• en indiquant le chemin à un touriste ou à une personne égarée.

1- Définition 1
Un algorithme, c’est une suite d’instructions, qui une fois exécutée
correctement, conduit à un résultat donné.

Si l’algorithme est juste, le résultat est le résultat voulu,

• le touriste se retrouve là où il voulait aller.

• Le magnétoscope (imprimante) fonctionnera correctement.

• Le gâteau sera réussi

Si l’algorithme est faux, le résultat sera aléatoire et faux :

• Le touriste ne trouvera pas ce qu’il veut

• Le magnétoscope (imprimante) ne fonctionnera pas.

• Et le gâteau sera raté ou pas réussi

La finalité d’un algorithme est de résoudre un problème.

L'utilisateur d'un algorithme n'aura qu'à suivre toutes les instructions,


dans l'ordre pour arriver au résultat que doit donner l'algorithme
1- Définition 2

Un algorithme est un ensemble d’instructions qui permet de


résoudre un problème indépendamment des particularités de tel ou
tel langage.
TS en Informatique Option Base de Données
Algorithmique
Page |4

Pour résoudre un problème par une machine, (donc la conception d’un


programme informatique) il faut suivre des étapes suivantes :

1- 1 La spécification (ou analyse)


2- 2 La conception préliminaire (ou conception générale)
3- 3 La conception détaillée
4- 4 Le codage
5- D
1- La spécification :
Est l’ensemble des activités consistant à définir de manière précise,
complète et cohérente ce dont l’utilisateur a besoin
Dans la spécification, le problème est décomposé et le problème ou
l’énoncé est définie :
A savoir :
• l’entrée (données du problème)
• La sortie (le résultat recherché)
• Les relations éventuelles entre les données et le résultat.
Exemple :
Problème : Résolution d’une équation de second degré dans R.
Ax²+bx + c = 0
Analyse : Données en entrée - les coefficients a, b, c
Données en sortie ou recherché : les racines de l’équation.
La solution :
- calcul de Delta = B²-2AC
- Calcul des racines selon Delta
Si Delta est =0 alors racine double x = -b/2a
Si Delta est 0 alors deux racines x1= et
x2=
Si Delta est 0 alors pas de racine dans R.

1- Conception préliminaire (Traduction du résultat de


l’analyse)

Une fois le problème spécifié et analysé, le résultat est traduit


en un langage descriptif le résultat de la traduction est appelé
Algorithme.

2- Conception détaillée (programmation) : est la traduction de


l’algorithme en un programme dans un langage de
programmation spécifique.
TS en Informatique Option Base de Données
Algorithmique
Page |5

3- Codage : Le programme est ensuite transformé en langage


machine lors d'une étape appelée compilation. La compilation
est une phase réalisée par l'ordinateur lui-même grâce à un
autre programme appelé compilateur.
4- La phase suivante s'appelle l'édition de liens, elle consiste à
lier le programme avec tous les éléments externes
(généralement des librairies auxquelles il fait référence).

4- Avec qu’elle langage ou convention en écrit un algorithme ?

Un algorithme peut être représenté par généralement deux type de


présentations :

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.

b- Pseudo-code : qui est un ensemble de mot clés et de structure


permettant de décrire dans un langage naturel l’ensemble des
opérations à effectuer sur les données pour obtenir des résultats.

1- Caractéristiques d'un algorithme

Un algorithme est l'énoncé dans un langage bien défini d'une suite


d'opérations permettant de répondre au problème.
Un algorithme doit donc être :
• lisible: l'algorithme doit être compréhensible même par un non-
informaticien
TS en Informatique Option Base de Données
Algorithmique
Page |6

• de haut niveau: l'algorithme doit pouvoir être traduit en n'importe quel


langage de programmation, il ne doit donc pas faire appel à des
notions techniques relatives à un programme particulier ou bien à un
système d'exploitation donné
• précis: chaque élément de l'algorithme ne doit pas porter à confusion,
il est donc important de lever toute ambiguïté
• concis: un algorithme ne doit pas dépasser une page. Si c'est le cas, il
faut décomposer le problème en plusieurs sous-problèmes
• structuré: un algorithme doit être composé de différentes parties
facilement identifiables
La maîtrise de l’algorithmique requiert deux qualités, très complémentaires d’ailleurs:

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

7-Structure d’un algorithme

L'en-tête
algorithme nom de l'algorithme ;
const

var

Les déclarations de constantes, variables, structures


liste des constantes ;

liste des variables ;

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

Tous les mots clés sont écrits en minuscule.

Une marque de terminaison ( ;) est utilisée entre chaque action.

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

Dans cette partie de l'algorithme, sont placées les tâches (instructions,


opérations…) à exécuter.

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}

Var a,b, lasomme: entiers {déclarations: réservation


éspace-
mémoire}

Début

Lire (a,b) ;

Lesomme A+b ;

Afficher (lasomme) ;
Fin.

8* Déclaration de constante et de variables :


a) Les constantes :

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.

Si je veux calculer la surface d'un cercle, je demanderai à l'ordinateur


de calculer la
formule :
A = PI * r ^ 2
PI est une constante. PI = 3.14
Mot clé est : const

b) Les variables :

Elles peuvent stocker des chiffres des nombres, des caractères,


des chaînes de caractères,… dont la valeur peut être
modifiée au cours de l'exécution de l'algorithme.

Mot clé : var


TS en Informatique Option Base de Données
Algorithmique
P a g e | 10

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

Le type : il détermine la nature de la variable ou de la constante (entier, réel, booléen, chaîne de


caractères…)

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.

Physiquement, cela peut s’expliquer comme suit :


Le programme s'exécute dans le microprocesseur. Les données sont
rangées dans la mémoire.
"r" et "A" désignent donc les emplacements dans la mémoire où les
données attendent pour le calcul. On peut décomposer l'instruction
de calcul A = PI * r ^ 2 comme suit :
1. Je vais chercher ce que vaut PI
2. Je vais chercher la donnée contenue dans la variable/mémoire "r"
3. Je calcule le carré (r * r)
4. Je multiplie par PI
5. Je range le résultat dans la variable/mémoire "A"

Caractéristique d’un identificateur :


Un identificateur de variable ou de constante doit être :
Significatif : exemple : pour identifier la variable représentant
une quantité on utilise les identificateurs :
Quantite, quant, qt, q
Ne doit pas comporter un espace
Prix unitaire est un identificateur faux
Somme des entiers est un identificateur faux
Ne commence pas par un chiffre :
1som est un identificateur faux
Annee2009 est un identificateur correct
TS en Informatique Option Base de Données
Algorithmique
P a g e | 11

b-2) les types de base


L'algorithmique manipule des données selon un type. Le type définit
plusieurs choses :
• La nature de la donnée ou l’ensemble dans lequel l’objet prend
ses valeurs.
• Le format que la machine utilise pour stocker cette information.
(par exemple, on peut choisir de stocker un entier sur plus ou
moins d'octets).

Nous considérerons cinq types de base :


• Entier les entiers naturel ………..-2 -1 0 1 2 ………………
• Reel les entiers réels : 1.5 2.03
• Booleen Il ne peut prendre que deux états : VRAI ou FAUX
• Le caractère
'a', 'A','*','7','z',' !'….
Un caractère est encadré par deux cotes ‘ ‘.
Mot clé : car
• La chaîne de caractères

'électronique', 'cd ROM de 80mn'…


Une chaîne de caratère est encadrée par deux cotes ‘ ‘.
Mot clé : chaîne
Déclaration des variables :
Une variable est déclarée au début du programme en associant un
identificateur à un type donné.
Var identificateur : type ;

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

le contenu des deux case doit être des entiers.

Déclaration de constantes:
Une constante est déclarée en spécifiant son identificateur et sa
valeur

Const identificateur = valeur ;


Exemple : const PI = 3.14 ;
TS en Informatique Option Base de Données
Algorithmique
P a g e | 12

Remarques :

• Dans un algorithme, on ne peut pas déclarer deux variables


ayant le même nom ou identificateur.
• la déclaration a : entier ;
b :entier ;
peut être remplacée par a,b : entier ;
• toutes les variables et constantes utilisées dans un algorithme
doivent êtres déclarées dans la partie déclaration.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 13

Exercices :
Résoudre les problèmes suivants en suivant les étapes vue
en cours:

Exercice 1 : « calcule de la surface d’un rectangle »

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

MOYGEN (réel) La moyenne générale à l’examen


informatique
Début
Lire(NOM, PRENOM, TEST1, TEST2, EXAM)
MOYEN ç (TEST1 + TEST2 + 2 * EXAM) / 4
Ecrire(NOM, PRENOM, MOYGEN)
Fin

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

TAXE  MONTHT * TxTAXE


Résultat intermédiaire
TAXE montant de la taxe
Constante
TxTAXE=10% taux de taxe

Phase 2 : L'algorithme associé à son lexique (conception).


Lexique
constante
TxTAXE=10% taux de taxe
variables
QUANT (entier ou réel) une quantité de produit achetée
PRIHT (réel) le prix hors taxe du produit achetée
NOM (chaîne) le nom du client
MONTHT (réel) le montant hors taxe
APAYER (réel) le montant toute taxe
TAXE (réel) montant de la taxe
Début
Lire(QUANT,PRIHT,NOM)
MONTHT  QUANT * PRIHT
TAXE  MONTHT * TxTAXE
APAYER  MONTHT + TAXE
Ecrire(NOM,MONTHT,APAYER)
Fin

TS Base de données

Matière : Algorithmique
TS en Informatique Option Base de Données
Algorithmique
P a g e | 17

Chapitre II : Instructions de base

Leçon : I nstruction d’ a f f e c t a t i o n

Objectif pédagogique :

A la fin de la leçon, le stagiaire sera capable de

1- affecter correctement une valeur ou une constante ou


une expression à une variable,

2- évaluer correctement une expression algébrique,

3- évaluer correctement une expression booléenne.

Introduction :

IL est utile de distinguer deux types de données utilisées par un


programme.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 18

a/ les données internes : indépendantes de toute exécution et


indispensable au déroulement du programme.
b/ les données externes au programme, utilisées pour une exécution
particulière et sans utilité pour les suivantes. Elles sont introduites au
moment de l’exécution du programme.
Exemple :
Reprenant le problème de calcul de la surface d’un cercle
A = PI * r *r
PI = 3.14 est une donnée interne a programme fixée par le programmeur.
Pour le calcul de cette surface, l’ordinateur a besoin de la valeur du rayon.
Cette valeur est introduite par l’utilisateur au moment de l’exécution du
programme.
Le rayon est une donnée externe.

Pour introduire les données internes ou externes dans un algorithme on


utilise les instructions suivantes :
– instruction d’affectation ( = ou  )
– Instruction de lecture (lire)
– Instruction de sortie (d’écriture ) (afficher écrire)
1- Instruction d’affectation

L’instruction d’affectation est une instruction qui consiste à attribuer


une valeur à une variable préalablement déclarée.
Syntaxe :
Variable  expression ou constante ou variable ;

Où expression peut être :

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

Exemple 2 : var PI : reel ;


PI  3.14 ;
TS en Informatique Option Base de Données
Algorithmique
P a g e | 19

Avant l’affectation : PI

Après l’affectation : PI 3.14

Exemple 3 :
Var trouve : booleen ;
Trouve  faux ;

Avant l’affectation : Trouve

Après l’affectation : Trouve faux

Exemple 4 : Nom  « Mahdjouba «

Remarque :
La constante doit être de même type que la variable.

b- Une variable :

Variable  variable;

Exemple 1 : var A,B : entier ;

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;
XY;
YZ;
TS en Informatique Option Base de Données
Algorithmique
P a g e | 20

ZX;
Fin.
Déroulement :
X Y Z
X  -3 ; -3
Y  10 ; -3 10
Z 0; -3 10 0
XY; 10 10 0
YZ; 10 0 0
ZX; 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

Les règles de l’évaluation sont les suivantes :


• Les opérateurs sont classés par ordre de priorité
Par ordre croissant : puissance niveau 1
/ * niveau 2
+ - niveau 3
• En l’absence de parenthèse, l’exécution des opérations se fait
toujours de gauche à droite.
• Une opération n’est exécutée que si l’opération suivante n’est pas
prioritaire.
Exemple 1 :
Evaluer l’expression A/B *3+C
2-18
Avec A =8, B = 2, et C = 3
1- A/B la division n’étant pas suivie d’une opération plus prioritaire.
Le résultat est 4
L’expression devient : 4*3+c2-18
2- 4*3 l’addition qui suit la * est de priorité inférieure.
Le résultat est 12
L’expression devient : 12+c2-18
3- c2 la puissance est de niveau de priorité supérieur à l’addition
qui la précéde. Elle-même est suivie d’une opération moins
prioritaire.
Le résultat est 9.
L’expression devient 12+9-18
4- 12+9 : l’addition est de même priorité que la soustraction qui la
suit.
Le résultat est 21.
L’expression devient : 21-18
5- Le résultat est 3
Exemple 2 :
On veut écrire l’expression algébrique 2+AB+4
Si on écrit 2+A/B+4 avec A = 4 et B = 2
Evaluant l’expression :
TS en Informatique Option Base de Données
Algorithmique
P a g e | 22

1- A/B : l’addition est moins prioritaire que la division.


le résultat est 2
L’expression 2+2+4
2- 2+2
Le résultat est 4
3- 4+4
Le résultat est 8
Le résultat est erroné.
Pour ne pas tomber dans ce type d’erreur, on utilise les parenthèse :
(2+A)/(B+4)
Remarque :
Les parenthèses ont la plus forte priorité. C-à-d que le contenu des
parenthèses est évalué en premier.
c-2- Expression booléenne

Une expression booléenne comporte des opérandes et des opérateurs


booléens et des opérateurs de comparaison.
Les opérateurs booléens sont : et / ou/ non
Exemple d’expression : var trouve , fin :booleen ;
Le tableau suivant présente le résultat des l’évaluation de
Trouve et fin trouve ou fin pour les différentes valeurs que peut
prendre l’une ou l’autre variable.

trouve fin Trouve et Trouve ou


fin fin
Vrai Vrai vrai Vrai
vrai faux faux Vrai
faux Vrai Faux Vrai
Faux faux vrai faux
Exemple 1 :
Evaluer les expressions :
(5 > 2) et (4=3) résultat est
(1<0) ou (6=(2*3)) résultat est
TS en Informatique Option Base de Données
Algorithmique
P a g e | 23

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

Chapitre II : Instructions de base

Leçon : I nstruction de lecture

Objectif pédagogique :

A la fin de la leçon, le stagiaire sera capable de

1- Ecrire correctement une instruction de lecture

2- Résoudre un problème en utilisant l’instruction Lire.


TS en Informatique Option Base de Données
Algorithmique
P a g e | 26

Définition :

L’instruction de lecture « LIRE » permet d’attribuer une valeur à une


variable lors de l’exécution de l’algorithme.

LIRE permet de lire une valeur provenant du clavier.

Parvenue à cette instruction, l’exécution de l’algorithme s’arrête,


l’utilisateur tape alors sur le clavier la valeur qu’il veut donner à la variable
puis l’exécution se poursuit.

Syntaxe : LIRE (variable(s)) ;

Exemple 1 : lecture d’une variable

(1)Var N : entier ;

(2)Lire (N) ;

Exécution :

Après exécution de (1) : N

Après exécution de (2) , la machine attend que l’utilisateur lui fournisse


une valeur pour N à fin de pouvoir continuer à exécuter l’algorithme.
Si l’utilisateur tape 5 : 5 sera affectée à N5 : N

Exemple 2 lecture de plusieurs variables :

Lire (variable1, variable2, ….., varaiblen) ;

Les identificateurs de variables sont séparés par des virgules.

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 :

1- On peut lire une variable de type entier, réel, caractère, chaine de


caractère
2- On ne peut pas lire une variable de type booleen.
3- Lire (A,B,C) est équivalent à
Lire (a) ;
Lire(b) ;
Lire(c) ;
EXERCICES :

Exo1

Donnez les valeurs de X, y, z après exécution des instructions suivantes :

Lire(x) ;
Yx*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) ;

Les valeurs tapées sont : Samira


22
12.50

Exo3

Ecrire un algorithme qui permute deux entiers entrés au clavier.

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

Chapitre II : Instructions de base

Leçon : I nstruction d’ é c r i t u r e

Objectif pédagogique :

A la fin de la leçon, le stagiaire sera capable de

1- Ecrire correctement une instruction d’écriture

2- Ecrire correctement un algorithme pour résoudre un

problème donné en utilisant les instructions


(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 :

L’instruction d’écriture Afficher permet à l’utilisateur de voir à l’écran la


valeur d’un objet, le contenu d’une variable.

Afficher permet d’afficher une valeur, un résultat à l’écran.

Syntaxe : Afficher (variable(s)) ;


Afficher (expression) ;
Afficher (chaîne de caractères) ;

Exemple 1 : Afficher la valeur d’une variable

(1)Var N : entier ;

(2) N  2 ;

(3)Afficher (N) ;

Après exécution de l’instruction (3), la valeur 2 est affichée à l’écran.

Exemple 2: Afficher plusieurs les valeurs de plusieurs variable ;


Var X,Y,Z : entier ;
Si
X2 ;
Y10 ;
Z -3+Y*X ;
Afficher (X,Y,Z) ;
Après exécution de la 3ème instruction les valeurs suivantes sont affichées
à l’écran :

2 10 17

Exemple3: Afficher le résultat d’une expression à évaluer.

Var X,Y,Z : entier ;


Si
X2 ;
Y10 ;
Z -3+Y*X ;
Afficher (X,Y,Z) ;
La 4ème instruction peut être remplacée par
Afficher (x,y, -3+y*x) ;
TS en Informatique Option Base de Données
Algorithmique
P a g e | 31

L’expression -3+y*x est évalué et sont résultat affiché.

Exemple 4: Afficher une chaîne de caractère ( Afficher un message).


Afficher (‘Donner la valeur de X’) ;
Afficher(‘Erreur, c’’est un nombre positif que j’attendais’) ;

Exemple 4: Afficher un message et consulter la valeur d’une variable ou


expression au même temps.
Afficher (‘la surface du cercle est :’,surf) ;
Ou
Afficher (‘la surface du cercle est :’, PI * r*r) ;
Si r a la valeur 2 alors l’affichage sera comme suit : la surface du cercle
est : 12.56
TS en Informatique Option Base de Données
Algorithmique
P a g e | 32

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

Chapitre III : Instructions


conditionnelles

Objectif :

A la fin du chapitre, le stagiaire sera capable de


résoudre des problèmes où existe des choix ou
alternatives et de traduire la solution en
algorithme correcte en utilisant les instructions
conditionnelles si alors sinon.

Plan :
Introduction

1- Instruction conditionnelle simple si


alors

2- Instruction conditionnelle complète si


alors sinon

3- Exercices
TS en Informatique Option Base de Données
Algorithmique
P a g e | 34

Chapitre III : Instructions conditionnelles


Introduction :
On peut distinguer trois types d’instructions selon leur mode de
fonctionnement :
Les Instructions séquentielles (Affectation, ecriture, lecture) qui sont
exécutées l’une après l’autre sans saut ni répétition,
Dans certains programmes, certaines instructions sont soient exécutées
ou sautées suivant le résultat d’un test.
Les instructions qui permettent ce choix sont des instructions
conditionnelles.

III-1- Instruction conditionnelle simple SI


ALORS :
Syntaxe :
Si expression booléenne Alors
Début
Instruction1 ;
Instruction2 ;
.
.
Finsi
Arrivé à la première ligne (Si… Alors) la machine examine la valeur de
l’expression booléenne. Si celle ci a pour valeur VRAI, elle exécute la série
d’instructions. Cette série d’instructions peut être très brève comme très
longue, cela n’a aucune importance. En revanche, dans le cas où la valeur
de l’expression booléenne est fausse, l'ordinateur saute directement aux
instructions situées après le FinSi.
Exemple :
Algorithme qui test si un nombre entier entré au clavier est positif :
TS en Informatique Option Base de Données
Algorithmique
P a g e | 35

Un entier est positif s’il est supérieur à 0.

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 :

Tapez un entier à tester : 12 Tapez un entier à tester : - 4


Merci
12 est un entier positif
Merci

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.

III-2- Instruction conditionnelle complète SI


ALORS Sinon

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

Dans le cas où l’expression booléenne est VRAI, et après avoir exécuté la


série d'instructions 1, au moment où elle arrive au mot « Sinon », la
machine saute directement à la première instruction après le « Finsi ». De
même, au cas où l’expression booléenne a comme valeur « Faux », la
machine saute directement à la première ligne située après le « Sinon » et
exécute l’ensemble des « instructions I ».
Dans tous les cas, les instructions situées juste après le FinSi seront
exécutées normalement.

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 :

Tapez un entier à tester : 12 Tapez un entier à tester : - 4


12 est un entier positif -4 est un entier négatif
Merci Merci

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

Si N mod 2 = 0 Alors (* si le reste de la


division par 0
est nul*)
Afficher (N,’est un entier
pair’)
Sinon
Fin. Afficher (N,’est un entier
Déroulement
Exemple 1 : Exemple 2 :

Tapez un entier à tester : 12 Tapez un entier à tester : 5


12 est un entier pair 5 est un entier impair

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

III-5- Choix multiple: Instruction selon que


L’algorithme qui Construit une calculette simple avec les opérations
(+,-,*,/).
Les données en entrée :
Deux entiers A et B
L’opération à efféctuer soient +, *, -,/
Résultat
Affichage de résultat de l’opération choisi entre a et b.
Traitement
Si l’opération choisie est + alors
Afficher l’addition de a et b
Sinon si l’opération choisie est - alors
Afficher la différence de a et b
Sinon si l’opération choisie est * alors
Afficher le produit de a et b
Sinon
Afficher le résultat de la division de a sur b

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

Dans cet algorithme, nous avons un choix multiple, et suivant la valeur de


op (opération), l’instruction correspondante est exécutée.
Cet ensemble d’instruction de si imbriquée peut être remplacée par un
instruction à choix multiple Selon le cas.
Selon le cas est une instruction qui permet de faire un choix parmi
plusieurs possibilités, suivant la valeur d’une expression.
Syntaxe :
Selon le cas expression
Valeur1 : Instruction1 ;
Valeur2 : Instruction2 ;
Valeur3 : Instruction3 ;

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

Si expression = valeurn alors instructionn


Remarque
• L’expression à évaluer est appelée sélecteur.
• Lorsque plusieurs instructions suivent un choix, elles doivent
figurées entre début et fin.
Selon le cas expression
Val1 : début
I1 ;
I2 ;
Fin ;
Val1 : début
I3 ;
I4 ;
Fin ;
Fin ;
• L’expression doit être impérativement de type ordinal (type dont les
valeurs peuvent être énumérées)
Entier, caractère, chaîne de caractère, intervalle
Ne peut pas être réel.
• Valeur i peut être
TS en Informatique Option Base de Données
Algorithmique
P a g e | 42

- une constante (entier,caractère,chaîne de caractère)


- une liste de constante (séparée par des virgules)
- un intervalle.
Exple1 liste de constante :
Selon le cas valeur
1,2,3,4,5,6,7,8,9 : afficher(‘Unité’) ;
10,11,12,13,14,15,16,17,18,19 : afficher (‘Diziane’) ;

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’) ;

‘z’,’Z’: afficher(‘Dernière lettre de l’alphabet’) ;


Fin ;
Exple3 constante entière
Selon le cas valeur
1: afficher(‘Janvier’) ;
2: afficher(‘Feverier’) ;

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 ;

• L’orsqu’une ou plusieurs instructions correspond à d’autres


valeurs que celles prévues, sinon est ajouté à la fin de l’instruction.

Solution de l’exercice précédent en utilisant Selon le cas


TS en Informatique Option Base de Données
Algorithmique
P a g e | 43

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

Ecrire un algorithme qui calcule le maximum entre trois nombres réels a , b et c.


Exo3 :
Soit l’instruction conditionnelle suivante :
Si (i <= 100) et (j >2) alors
Cpt  cpt + 1
Sinon
Cpt  cpt -1 ;
Pour quelle condition l’instruction Cpt  cpt -1 est –elle exécutée ?
Exo4 : Evaluer les expressions suivantes :
(i >= 100) et (trouve = faux) pour i = 80, trouve = vrai
I = 100, trouve = faux
(j >= 1) ou (i <= N) pour j = 1, i = 3, N = 10
J = 0, i = 10, N = 10
J = 10, i = 1, N = 10
Exo5 :
Ecrire la séquence d’instructions qui traduit l’écriture suivante :
si x<2 alors y =2x -4si x≥2 alors y = 4- 2x

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

"Dans une minute, il sera 21 heure(s) 33".


NB : on suppose que l'utilisateur entre une heure valide. Pas besoin donc de la
vérifier.
Exo11 :
De même que le précédent, cet algorithme doit demander une heure et en
afficher une autre. Mais cette fois, il doit gérer également les secondes, et
afficher l'heure qu'il sera une seconde plus tard.
Par exemple, si l'utilisateur tape 21, puis 32, puis 8, l'algorithme doit répondre :
"Dans une seconde, il sera 21 heure(s), 32 minute(s) et 9 seconde(s)".
NB : là encore, on suppose que l'utilisateur entre une date valide.
Exo12 :
Les habitants de Aielmaken paient l’impôt selon les règles suivantes :
• les hommes de plus de 20 ans paient l’impôt
• les femmes paient l’impôt si elles ont entre 18 et 35 ans
• les autres ne paient pas d’impôt
Le programme demandera donc l’âge et le sexe de l’habitant, et affichera s’il
paye l’impôt ou non.
Exo13 (solution serie si alors.docx)
De deux personnes dont on connaît le nom, le prénom et la date de naissance
(sous la forme JOUR, MOIS, ANNEE) on veut afficher le nom et prénom de la plus
jeune.
Exo14 :
Construire une calculette simple avec les opérations (+,-,*,/).