Académique Documents
Professionnel Documents
Culture Documents
algorithme
Notion d’objet
Types de données de base
Expressions
Instructions élémentaires
Structure générale d’un algorithme
86
Notion d’objet
Un algorithme manipule des informations (données) pour produire
d’autres informations (résultats). Une information contenue dans un
algorithme est appelée objet.
L’ensemble des objets manipulés par un algorithme est appelé
environnement de l’algorithme.
Généralement à chaque objet correspond un emplacement en
mémoire. Un objet est caractérisé son adresse, son identificateur,
sa valeur, son type.
Adresse d’un objet
C'est l'adresse de l'emplacement correspondant à l'objet.
C’est un entier, affecté par le compilateur
Identificateur d’un objet
L'identificateur est une suite de caractères alphanumériques non
accentués, sans espace, commençant par une lettre.
C'est le nom donné à l'objet par le programmeur, permettant de sa
manipulation.
Le nom doit être unique et en rapport avec le contenu de l'objet.
87
Notion d’objet
Valeur d'un objet
C'est le contenu de l'objet (c’est à dire une valeur de l’information) à
un moment donné du déroulement de l'algorithme. Un objet ne peut
prendre qu'une valeur à un instant donné.
Au cours de l'exécution de l'algorithme, certains objets peuvent
changer de valeur: ce sont des variables ; d’autres objets au
contraire ne seront pas modifiables. Ce sont des constantes.
La manipulation d'un objet concerne sa valeur.
Type d'un objet
Le type d’un objet est la nature, la catégorie de l'objet. Le type d'un
objet détermine:
L'ensemble des valeurs que peut prendre l'objet.
La taille de l'objet c'est à dire de l'emplacement correspondant.
Les opérations applicables à l'objet
On distingue généralement deux catégories de types :
Les types élémentaires (ou simples ou de base): un type est dit
élémentaire si les actions qui manipulent un objet de ce type ne
peuvent l'accéder que dans sa totalité.
Les types structurés (ou complexes) qui sont définis à partir
d'autres types et dont les objets peuvent être accédés en partie 88
Types de données de base
Type Ensemble Constantes Opérateurs
Suite chiffres précédée ou -, +, -, *, div, mod,
entier
non de + ou - <, >, =, , ≥, ≤
5, 3.5, -10.67,… -, +, -, *,/,
réel IR
-5.698e -12, 25e7,… <, >, =, , ≥, ≤
non, et, ou, xor
booléen {.vrai., .faux.} .vrai., .faux.
<, >, =, , ≥, ≤
caractère Ensemble de symboles Symbole entre quote () <, >, =, , ≥, ≤
Table de vérité
C1 C2 NON C1 C1 ET C2 C1 OU C2 C1 XOR C2
.VRAI. .VRAI. .FAUX. .VRAI. .VRAI. .FAUX.
.VRAI. .FAUX. .FAUX. .FAUX. .VRAI. .VRAI.
.FAUX. .VRAI. .VRAI. .FAUX. .VRAI. .VRAI.
.FAUX. .FAUX. .VRAI. .FAUX. .FAUX. .FAUX.
89
Expressions
Définition
Une expression est une suite bien formée d'opérateurs
portant sur des objets (variables ou constantes), des
constantes littérales, des appels de fonctions, appelés
opérandes, et qui a une valeur.
Une expression représente en fait un calcul que
l'ordinateur doit mener pour obtenir une valeur.
La valeur d'une expression est généralement utilisée:
affichée, affectée, utilisée pour appeler un sous-
programme ou dans une autre expression, ...
On peut utiliser des parenthèses dans une expression
pour former l'ordre d'évaluation dans l'expression.
90
Expressions
Priorité des opérateurs dans une expression
L’ordre d’exécution des différentes opérations dans une
expression:
1) Les parenthèses et on commence par les plus internes.
2)
3) NON logique, et – (changement de signe)
4) *, /, MOD , DIV , ET logique
5) + , - , OU logique
6) ≠ , ≤, <, ≥, >, =
7) En cas d’égalité des priorités, on commence par
l’opérateur le plus à gauche.
Exemple:
Donner l’ordre d’évaluation des expressions suivantes :
a + 12 - 14 * 4 / 13 * ( c + 1 – ( b + 5 ) )
b*b-4*a*c
-9 + 5 * 6 / 2 91
Expressions
Type d’une expression
Le type d'une expression est le type de sa valeur. Ainsi on
distingue des expressions:
entières (type entier)
réelles (type réel)
numériques (type réel ou entier)
booléennes ou logiques (type booléen)
Exemple:
si a = 1; b = 2; c = 3
(b > 8) ou (c < 1) ?
(b > 0) ou (c > 1) ?
(b > 9) ou (c > 1) ?
(b > a) et (c > b) ?
(b > a) et (c < 0) ?
non (c < a) ?
non ((b > a) et (c > b)) ?
((b > a) et (c > b)) ou (a < 0) ?
92
Instructions élémentaires
Une action élémentaire est une action atomique dont est
capable l'ordinateur. Une instruction élémentaire est une
instruction d'action élémentaire.
Calcul
Pour amener l’ordinateur à faire un calcul, il faut lui soumet une expression
Déclaration d’objet
La déclaration d'un objet est l'association d'un nom avec un objet
c'est à dire avec un emplacement.
Syntaxe en pseudo code
CONST<nom_const><val>:<type_const>;
VAR < nom_var1>, ..., <nom_varn>: <type_var>;
Fonctionnement
La première instruction va réserver en mémoire un emplacement, lui
donner le nom <nom_const> et y placer la valeur <val> qui ne changera
plus.
La deuxième instruction va réserver en mémoire des emplacements
destinés à contenir des valeurs de type <type_var>, et dont les noms
sont respectivement <nom_var1>, ..., <nom_var n>
Remarque: Tout objet avant d'être manipulé doit être déclaré.
93
Instructions élémentaires
Déclaration d’objet
La déclaration d'un objet est l'association d'un nom avec un objet
c'est à dire avec un emplacement.
Exemples
Exemple 1: Déclarer les objets nécessaires au calcul de la
résistance équivalente de trois résistances dans un montage en
parallèle
1°) Déterminons l’environnement du traitement
Catégorie objet Type signification
Résultat Req Réel Résistance équivalente des trois résistances
R1 Réel 1ère résistance montée
Données R2 Réel 2è résistance montée
R3 Réel 3è résistance montée
94
Instructions élémentaires
Déclaration d’objet
La déclaration d'un objet est l'association d'un nom avec un objet
c'est à dire avec un emplacement.
Exemples
Exemple 2: Déclarer les objets nécessaires au calcul de l’aire d’un
cercle de rayon donné
1°) Déterminons l’environnement du traitement
Catégorie objet Type signification
Résultat aire Réel L’aire d’un cercle de rayon connu
PI Réel Constante de calcul des aires fixée à 3,14
Données
rayon Réel Rayon du cercle
95
Instructions élémentaires
Affectation
L'affectation consiste à placer une valeur dans une
variable. Le contenu précédent de la variable est
définitivement perdu.
Syntaxe en pseudo code
<nom_var><expression>;
Fonctionnement
L'instruction d'affectation s'exécute en deux étapes:
Evaluation de l'expression <expression>.
Assignation du résultat dans la variable <nom_var>.
L'expression et la variable doivent être de types
compatibles.
96
Instructions élémentaires
Affectation
Exemples
Exemple 1: Ecrire la séquence d’instructions permettant de
l’aire du cercle de rayon 5,2.
CONST PI 3.14 : REEL;
VAR aire, rayon: REEL;
rayon 5.2;
aire PI*rayon*rayon;
Utilisateur
Ordinateur
Lecture de données
La lecture consiste à lire (à récupérer) une information
saisie depuis le clavier de l'ordinateur, à la convertir en
binaire et à la ranger en mémoire centrale dans une
variable.
L'instruction de lecture de données permet donc de
communiquer des données à l'algorithme.
98
Instructions élémentaires
Instructions d’entrée/sortie
Lecture de données
Syntaxe en pseudo code
Lire(<nom_var>);
Fonctionnement
L'instruction de lecture suspend le déroulement de
l'algorithme jusqu'à ce que l'utilisateur ait fini de taper au
clavier une valeur et assigne la valeur entrée à la variable
<nom_var>. Le type de la variable détermine ce que l'on
entre au clavier (entier, réel, ...).
Remarque:
On peut généraliser la syntaxe pour permettre la lecture de
plusieurs variables à la fois: Lire(<var1>,..., <varn> );
Comme pour l'affectation, on ne peut lire que des variables.
Toute variable déclarée doit être initialisée, c'est à dire recevoir une
valeur, avant son utilisation. L'initialisation s'effectue généralement au
début de l'algorithme, juste après les déclarations, sous forme de
simple affectation ou d'une lecture au clavier.
99
Instructions élémentaires
Instructions d’entrée/sortie
Ecriture de données
L'écriture de données consiste à communiquer sur l'écran
des résultats sous une forme directement compréhensible
par l'utilisateur.
Syntaxe en pseudo code
Ecrire(<expression>);
Fonctionnement
L'instruction va évaluer l'expression <expression> puis
afficher le résultat à l'écran.
Remarque:
On peut généraliser la syntaxe afin de permettre l'écriture
de plusieurs expressions: Ecrire(<exp1>, ..., <exp n>);
100
Instructions élémentaires
Instructions d’entrée/sortie
Exemple: Calculer et afficher les résistances équivalentes de trois résistances
montées respectivement en série et en parallèle.
A) Environnement du traitement
Catégorie objet Type signification
Reqs Réel Résistance équivalente des trois résistances en série
Résultats
Reqp Réel Résistance équivalente des trois résistances en parallèle
R1 Réel 1ère résistance montée
Données R2 Réel 2è résistance montée
R3 Réel 3è résistance montée
B) Logique de traitement
1° Obtenir R1, R2, R3
2° Calculer Reqs par Reqs = R1 + R2 + R3
101
Instructions élémentaires
Instructions d’entrée/sortie
Exemple: Calculer et afficher les résistances équivalentes de trois résistances
montées respectivement en série et en parallèle.
102
Instructions élémentaires
Appel de sous-programme
Un sous-programme est un ensemble d’instructions
nommé destinant à la réalisation d’une tache précises.
L'appel de sous-programme consiste à lancer l'exécution
des instructions du sous-programme, éventuellement
après lui avoir fourni des données appelées paramètres
Syntaxe en pseudo code
<nom_spr>([<par1>, ..., par n>])
On supposera disponibles les fonctions mathématiques:
alea(min, max) : retourne un nombre pseudo-aléatoire entre min et
max inclus, nombres entiers
sinus(angle) : retourne le sinus d’un angle exprimé en radians
cosinus(angle) : retourne le cosinus d’un angle exprimé en radians
racine(nombre) : retourne la racine carrée d’un nombre réel
puissance(nombre, exposant) : retourne la valeur de nombre élevée
à la puissance de exposant
103
Instructions élémentaires
mier point Appel
de sous-programme
Exemple: Ecrire une suite d’instructions qui demande les coordonnées de
deux points dans le plan, calcule et affiche à l’écran la distance entre ces deux
points.
A) Environnement
Catégorie objet Type signification
Résultat distance Réel La distance entre deux points du plan
x1 Réel L’abscisse du premier point
y1 Réel L’ordonnée du premier point
Données
x2 Réel L’abscisse du deuxième point
y2 L’ordonnée du deuxième point
B) Logique de traitement
3° Afficher distance
104
Instructions élémentaires
mier point Appel
de sous-programme
Exemple: Ecrire une suite d’instructions qui demande les coordonnées de
deux points dans le plan, calcule et affiche à l’écran la distance entre ces deux
points.
C) Séquence d’instructions algorithmiques permettant le calcul et l’affichage de la distance de
deux points
VAR x1, y1, x2, y2, distance: REEL;
Exemple
Un démarcheur à domicile est rémunéré avec un salaire
fixe de 100000 FCFA par mois. Il perçoit aussi une
commission qui représente 5% du montant des ventes qu'il
a réalisées. Le salaire ainsi obtenu (fixe et commission) est
augmenté de 10 % pour prendre en compte ses frais de
déplacement. Calculer et afficher son salaire en fonction
d'un montant des ventes réalisées qui sera demandé.
106
Instructions élémentaires
Commentaire
Exemple
A) Environnement
Catégorie objet Type signification
Résultat salaire Réel Le salaire du démarcheur
SALFIXE Réel Le salaire fixe du démarcheur fixé à 100000
TAUXCOM Réel Le taux de la commission fixé 5%
Données
TAUXDEP Réel Le taux des frais de déplacement fixé à 10%
mntVente Réel Le montant des ventes réalisées
(* Déclaration de l’environnement *)
CONST SALFIXE 100000: REEL;
TAUXCOM 0.05: REEL;
TAUXDEP 0.1: REEL;
VAR salaire: REEL; (* Salaire net du démarcheur *)
mntVente, mntCom, salbrut, mntFrais: REEL;
(* Traduction de la logique de traitement sous forme d’indications pour l’ordinateur *)
ECRIRE(Entrer le montant des ventes réalisées:);
LIRE(mntVente);
mntCom TAUXCOM * mntVente ;
salbrut SALFIXE + mntCom ;
mntFrais TAUXDEP * salBrut ;
salaire salBrut + mntFrais ;
ECRIRE(Le salaire est : , salaire);
108
Structure générale d’un algorithme
ALGORITHME <nom_algo> Entête
CONST - - - - - - - - - -
TYPE - - - - - - - - - - - - Déclaration: description des objets
VAR - - - - - - - - - - - -
DEBUT
-------------
-------------
Corps: description des actions que
------------- l’ordinateur doit effectuer sur les objets
-------------
FIN
109
Structure générale d’un algorithme
Exemple: L’algorithme permettant le calcul et l’affichage du salaire
ALGORITHME salaire
CONST SALFIXE 100000: REEL;
TAUXCOM 0.05: REEL;
TAUXDEP 0.1: REEL;
VAR salaire: REEL; (* Salaire net du démarcheur *)
mntVente, mntCom, salbrut, mntFrais: REEL;
DEBUT
ECRIRE(Entrer le montant des ventes réalisées:);
LIRE(mntVente);
mntCom TAUXCOM * mntVente ;
salbrut SALFIXE + mntCom ;
mntFrais TAUXDEP * salBrut ;
salaire salBrut + mntFrais ;
ECRIRE(Le salaire est : , salaire);
FIN
110
Structure générale d’un algorithme
rappEl: EtapEs dE construction d’un algorithmE
I. Détermination de l’environnement
Il s’agit de décrire les objets (informations) nécessaires à la réalisation du traitement, en
les classant en objets en résultats ou en sortie, en objets en données ou en entrée, et en
objets intermédiaires ou de travail. La détermination de l’environnement est le résultat de
l’étape de spécification
111
Structure générale d’un algorithme
Exercice 1:
On veut écrire l’algorithme permettant de calculer et d’afficher le
salaire net d’un employé sachant que :
Le salaire net = Salaire brut – Valeur de l’impôt – Valeur de CNSS
Salaire brut = (Salaire de base + Prime de technicité + Prime de
transport + Prime des enfants) * Taux de travail
Taux de travail = Nombre de jours travaillés / 26
Prime des enfants = Prime d’un enfant * Nombre d’enfants
Valeur de l’Impôt = Taux de l’Impôt * Salaire Brut
Valeur de CNSS = Taux de CNSS * Salaire Brut
Taux CNSS = 26,5%
Taux Impôt = 2%
1°) Donner l’environnement de l’algorithme
2°) Donner la logique du traitement
3°) Rédiger l’algorithme
112
Structure générale d’un algorithme
Exercice 2:
Dans une école un étudiant passe quatre matières à l’examen :
1ère matière écrite : coefficient =3
2ème matière écrite : coefficient =2
1ère matière orale : coefficient =4
2ème matière orale : coefficient =5
Le coefficient de l’écrit est 6, celui de l’oral est 1 dans le calcul de la
moyenne générale.
On veut écrire un algorithme permettant d’entrer toutes les notes et de
calculer et d’afficher la moyenne de l’écrit, celle de l’oral et la moyenne
générale.
1°) Donner l’environnement de l’algorithme
2°) Donner la logique du traitement
3°) Rédiger l’algorithme 113
Structure générale d’un algorithme
Exercice 3:
On souhaite écrire un algorithme qui transforme en heures, minutes et
secondes chacun des deux nombres nbs1 et nbs2 représentant deux
temps exprimés en secondes, et qui calcule et affiche leur somme à
partir des transformations effectuées.
114