Module 3: algorithme et programmation
Chapitre 1:notion algorithme
Traitement ??
Instruction 1 : Lancer la corde jusqu’à ce qu’elle
atteint l’arbre Instruction 2 : Sauter en s’attachant
à la corde
L’arbre
Donné Résultats
es Terminer son
La Problème chemin
corde
Comment sauter le trou
???
Problème
Instruction 1: battre les
Comment préparer un
gâteau ??? œufs
Instruction 2: mélanger la
farine,
le beure et le
Traitemen sucre Instruction 3: ajouter
t? le lait Instruction 4: ajouter
la levure Instruction 5:
mettre au four
pen
dant 50 min
Résultat
Le gâteau est
Données préparé
(les
ingrédients)
Comment résoudre un
problème ???
Données
Instructio
n1
Instructio
Traitement n2
Instructio
n3
Instructio
nn
Résultats
1)- C’est quoi un algorithme ?
Un Algorithme est une suite finie d’instructions que l’on
applique à un nombre fini de données dans un ordre
précis pour arriver au résultat recherché.
2)- La représentation d’un algorithme
En- ( le nom de
tête l’algorithme)
Partie
déclarative ( les données et les
Déb résultats)
ut
Instructio ( Le
ns corps)
Fin
.
Exemple 1
Un vendeur de terrains veut écrire un algorithme qui calcul la
surface des terrains?
Y S
Solution
X
Algorithme Surface- En-
rectangle; Variable tête
X:
Réel; Partie
Y: déclarative
Réel;
Début
S:
Ecrire(′ Donner la longueur ′);
Réel;
Lire(X);
Ecrire(′ Donner la largeur ′ );
Lire(Y); Le
corps
SX*Y;
Ecrire(′ La surface du rectangle
est ′, S); Fin.
Exemple 2
Le vendeur veut entourer ses terrains par un siège
métallique?
Y P
Solution
X
Algorithme Périmètre- En-
rectangle; Variable tête
X:
Partie
Réel;
déclarative
Y:
Réel;
Début
P:
Ecrire(′ Donner la
longueur
Réel; ′);
Lire(X);
Ecrire(′ Donner la Le
largeur ′ ); corps
Lire(Y);
Ecrire(′ Le périmètre du rectangle
P(X+Y)*2;
est ′, P); Fin.
3)- Les types des variables (données et
résultats) X:
Entier;
Entier
X 3;
Numériq Z
ue X 4,5;
Réel R Y: Réel;
Y 8,5 ;
Y 6;
X:
Caractè Caractère;
Alphanuméri re X ′@′;
que
X ′ bonjour
Chaîne de ′;Y: Chaîne de
caractères
caractères; Y ′
Merci ′;
X:
Logiq
Logique;
ue Y ′ # ′;
X Vrai;
X
4)- Les
instructions
a)- L’écriture
b)- La lecture
c)- L’affectation
a)- Affichage à
L’écriture l’écran
Exemple 1
Bonjo
Ecrire(′
ur
Bonjour ′);
Ecrire(′
Matériel ′); Matéri
el
Exemple
2
X:
Réel ;
X Ecrire(′
20 ; X X
′);
Ecrire( X 2
); 0
Ecrire(′ X =′ , X=
X ); 20
b)- La
lecture
Entrer les valeurs au
clavier
Exemp
le
Lire( X Entrer la valeur de X au
); clavier
c)- Donner une valeur à une
L’affectation variable
Exemple
1
X: 1
Réel; 8
X 18;
Exemple X
2
Informatiq
Y : Chaine de ue
caractère; Y ′
Informatique ′;
Y
Exercice 1
Instructi Représentat
on ion
Mettre la somme de A et B BB–
dans C 1;
Mettre le produit de A, B et C B 1;
dans E
Incrémente A 5;
rA
Décrémente E A * B *
rB C;
Affecter la valeur 5 C A +
àA B;
Initialiser B à la A A +
valeur 1 1;
Instructi Représentat
on ion
Mettre la somme de A et B BB–
dans C 1;
Mettre le produit de A, B et C B 1;
dans E
Incrémente A 5;
rA
Décrémente E A * B *
rB C;
Affecter la valeur 5 C A +
àA B;
Initialiser B à la A A +
valeur 1 1;
Exercice 4
A, B, C et D quatre variables
numériques
A 0; B0;
Variables
Instruction C0;
A D0;
B C D
B4;
C B + 10;
A 0;
D A;
B B * D;
C B + 5;
A 10 + 4 + C;
C A + B + D;
Exercice 4
A, B, C et D quatre variables
numériques
A 0; B0;
Variables
Instruction C0;
A D0;
B C D
B4; 0 4 0 0
C B + 10; 0 4 14 0
A 0; 0 4 14 0
D A; 0 4 14 0
B B * D; 0 0 14 0
C B + 5; 0 0 5 0
A 10 + 4 + C; 19 0 5 0
C A + B + D; 19 0 19 0
Exercice
DORE est une variable DORE 5;
numérique SOL ′
SOL est une variable MIFA′; LASI
alphanumérique ??
LASI est une variable
Instruction Valeur affichée
alphanumérique
Ecrire ( DORE );
Ecrire (′DORE′ );
Ecrire ( SOL );
Ecrire ( ′SOL′ );
Ecrire ( DORE+5);
LASI ′DORE′+SOL;
Ecrire(LASI);
LASI LASI + ′SOL′ ;
Ecrire(LASI);
Exercice
DORE est une variable DORE 5;
numérique SOL ′
SOL est une variable MIFA′; LASI
alphanumérique ??
LASI est une variable
Instruction Valeur affichée
alphanumérique
Ecrire ( DORE ); 5
Ecrire (′DORE′ ); DORE
Ecrire ( SOL ); MIFA
Ecrire ( ′SOL′ ); SOL
Ecrire ( DORE+5); 10
LASI ′DORE′+SOL; LASI ′ DORE ′ + ′ MIFA ′
Ecrire(LASI); DOREMIFA
LASI LASI + ′SOL′ ; LASI ′ DOREMIFA ′ + ′
Ecrire(LASI); SOL ′
DOREMIFASOL
I )- Expressions et opérateurs
Rappel : une instruction d’affectation s’écrit
Variable expression ;
Valeurs ou variables reliés par des
opérateurs Opérateurs
Exemple :
X 3*Y+5 Expressi
on
;
Variab Variab
le le
Valeu
rs
Opérate
urs
Opérateu Opérateurs Opérate
rs alphanumériq urs
numériqu ues logique
es s
+ L’addition + La concaténation 1- De comparaison
Exemple: < > >= , =
- La
A, B et C des , , <= ,
soustraction
variables
alphanumériques Exemple:
* La
multiplication A’Pro’; A 2 < 5;
/ La division 2- Logiques
B ’gramme’;
^ La puissance et , ou , non
C A + B ;
Exemple: Exemple
C’Programme’;
A (B-3)*C + D/4; (voir la table de
vérité)
Exercice 1 et 2
Correction d’exercices
Exercice 1
Écrire l’algorithme permettant le calcul de la
surface d’un cercle connaissant son rayon :
Surface = π* Rayon*2
Algorithme Surface _cercle
Constante Pi=3.14 : réel
variables Rayon : entier Surface : réel
Début Ecrire (" Saisir la valeur du rayon ")
Lire(Rayon)
Surface Rayon * Rayon * Pi
Ecrire (" La surface du cercle est : ", Surface)
Fin
A B
A et
B
A B A et B
V V
A B
A et
B
A B A et B
V F
A B
A et
B
A B A et B
F V
A B
A et
B
A B A et B
F F
Table de vérité ( ET )
A, B deux variables
logiques
A B A et B
V V V
V F F
F V F
F F F
A o B
u
A B
A B A OU B
V V
A o B
u
A B
A B A OU B
V F
A o B
u
A B
A B A OU B
F V
A o B
u
A B
A B A OU B
F F
Table de vérité ( OU )
A et B deux variables
logiques
A B A Ou
B
V V V
V F V
F V V
F F F
Table de vérité
( Non )
A une variable
logique
A Non A
V
F
Table de vérité
A et B deux variables
logiques
A B A Et B A Ou B Non A
V V
F F
V F
F V
Table de vérité
A et B deux variables
logiques
A B A Et B A Ou B Non A
V V V V F
F F F F V
V F F V
F V F V
Exemple
A, B, C, D, E, F et G sont des variables
logiques Variable Valeur
A 2<3;
B 3>4;
C1=1;
D (A Et B)ou C;
E B Et C Et D;
F( Non B) ou C;
G A Et (Non E);
Exemple
A, B, C, D, E, F et G sont des variables
logiques Variable Valeur
A 2<3; V
B 3>4; F
C1=1; V
D (V ET F) ou V;
D (A Et B)ou C; D Vou
F; D V;
E F ET V ET
E B Et C Et D;
V; E F;
F (Non F)ou
F( Non B) ou C; V; F V ou V;
F V;
G V Et (Non F);
G A Et (Non E); G V Et V;
GV;
II )- Structures de contrôle
de base
1) - Structure séquentielle
Exemple
Ecrire un algorithme qui calcule la somme
de deux nombres entrés au clavier
Analyse du problème
Le nom de Som
l’algorithme me
Les variables
Le premier nombre:
X Le deuxième
nombre: Y
La somme des deux
nombres : S
Le S
calcul X+Y;
Solution
Algorithme
Somme;
Variable
X, Y, S : Réel;
Début
Ecrire (Donner la valeur du nombre
1); Structure
Lire( X ); séquentielle
Ecrire (Donner la valeur du nombre
Les instructions
2);
sont exécutées
Lire( Y ); l’une après
S X +Y; l’autre.
Ecrire ( La somme de , X , et , Y ,
est : , S ); Fin.
Un conducteur de camion arrive devant le panneau indiqué
dans le schéma :
Accès Interdit aux véhicules dont la hauteur chargement
compris, est
supérieure au nombre indiqué.
Que fera le conducteur ?
Schématisation du
problème
Schématisation du
problème
H
Schématisation du
problème
Schématisation du
problème
Schématisation du
problème
2) - Structure
sélective
a) – Sélective simple ( Un seul
choix )
Si conditionalors Si la condition est réalisée
Instruction; alors l’instruction sera
Fin exécutée, sinon
si
l’instruction saura ignorée
Exemple
Un conducteur de camion arrive devant le panneau indiqué
dans le schéma :
Accès Interdit aux véhicules dont la hauteur chargement
compris, est
supérieure au nombre indiqué.
Que fera le conducteur ?
Solution
Algorithme
Interdit;
Variable
H:
Réel;
Début
Ecrire ( Entrer la hauteur du
véhicule ); Lire (H);
Si H > 3,25alors
Ecrire ( Accès Interdit );
Finsi
Exécution de
l’algorithme
H=4
m
Exécution de
l’algorithme
Exécution de
l’algorithme
Exécution de
l’algorithme
H=2
m
Amélioration de l’algorithme
Algorithme
Tunnel;
Variable
H:
Réel;
Début
Ecrire ( Entrer la hauteur du
véhicule ); Lire (H);
Si H > 3,25alors
Ecrire ( Accès Interdit )
;
Sinon
2) - Structure
sélective
b) – Alternative ( Deux
choix )
Si conditionalors Si la condition est réalisée
alors
Instruction
1; l’instruction 1 est
Sinon exécutée Et
Instruction l’instruction 2 est
2; ignorée, sinon
Finsi
l’instruction 2 est
exécutée et
l’instruction 1 est
ignorée.
Exercices 1
Ecrire un algorithme qui permet de lire et
d'afficher la valeur absolue d'un réel.
Exercices 2
Ecrire un algorithme qui permet de lire
et d'afficher si le produit de deux nombre
positif ou négatif
algorithme : Test
Variable X : entier Début
Écrire (" Saisir un entier X
") Lire (X)
Si (x > 0) alors
Écrire (" X est un nombre
positif ")
Sinon Écrire
(" X est un nombre
négatif ou nul ") Finsi Fin
Algorithme Affichage_Valeur_Absolue
Variable x : réel
Début
Ecrire (" Entrez un réel : ") Lire (x)
Si (x < 0) alors Ecrire ("La valeur absolue de
", x, "est :",-x)
Sinon
Ecrire ("La valeur absolue de ", x, "est :",x)
Finsi
Fin
Exemple
Un touriste prend le train à « Fès », ce train est à
destination de « Rabat ». A la gare de « Sidi kasem », il
entend le message vocal suivant:
Les voyageurs à destination de « Tanger » sont priés
de changer le train à cette gare.
Que fera le touriste?
Schématisation du
problème
Tanger
Sidi
Kacem
Fè
s
Rab
at
Schématisation du
problème
Les
voyageurs à
Tang destination
de
er « Tanger » sont
priés de
changer le
train à cette
gare.
Sidi
Kacem
Fè
s
Rab
at
Analyse du
problème
Analyse du
problème
Le premier
cas :
Analyse du
problème
Le premier
cas :
Analyse du
problème
Le deuxième
cas :
Analyse du
problème
Le deuxième
cas :
Solution
Algorithme
Destination;
Variable
D : Chaine de
caractères; Début
Ecrire ( Entrer votre
destination ); Lire (D);
Si D = Tanger
alors
Ecrire ( Changez de
train SVP ) ;
Sinon
Ecrire ( Restez à votre
place SVP);
2) - Structure
sélective
c) – Alternative imbriquée ( plusieurs
choix n >= 3)
Si condition 1 alors
Instruction 1;
Sinon
Si condition 2
alors
Instruction 2;
Sinon
Instruction 3;
Fin
si
Finsi
Exemp
le
Un conducteur de voiture arrive devant
le feu de circulation.
Combien de situation existe-il?
Que fera le conducteur dans chacune
des situations
Analyse du
problème
Le premier cas : feu Sto
rouge p
Le deuxième cas : feu Attenti
orange on
Le troisième cas : feu Circulati
vert on
Solution
Algorithme code-de-
la-route; Variable
CF : Chaine de
caractères;
Début
Ecrire ( Quelle est la couleur du
feu ? ); Lire (CF);
Si CF = Rouge
Ecrire ( Stop
alors
) ;
Sinon alor
Si CF = s
Ecrire (
Orange
Attention ) ; Sinon
Ecrire (
circulation ); Finsi
Finsi
Fin.
Un professeur donne 1 point pour 1 projet, 2
points pour 2
projets, 3 points pour 3 projets, 4 points pour 4
projet et
aucun point pour aucun projet.
Solution 1 ( structure sélective: alternative
imbriquée) Algorithme points;
Variable
N : Entier;
Début
Ecrire ( Entrer le nombre de projets
réalisés );
Lire (N);
Si N = 1 alors
Ecrire ( vous avez 1 point ) ;
Sinon
Si N = 2 alors
Ecrire ( vous avez 2 points ) ;
Sinon
Si N = 3 alors
Ecrire ( vous avez 3
points ) ; Sinon
Si N=4
alors
Ecrire ( vous avez 4
points ) ; Sinon
Ecrire ( vous n’avez aucun
point ) ; Finsi
Fin
Fin Finsi
si si
Problème ? L’imbrication des alternatives
devient
important
3)- La structure à choix multiple
Cas
variable vaut
Valeur 1 :
Instruction 1 ;
Valeur 2 :
Instruction 2 ;
Valeur 3 :
Instruction
Valeur n : 3 ;
Instruction n ;
Sinon
Autre instruction ;
Fin Cas
Exemple
Un professeur donne 1 point pour 1 projet, 2 points
pour 2 projets, 3 points pour 3 projets, 4 points pour 4
projet et aucun point pour aucun projet.
Solution 2 ( structure à choix
multiple) Algorithme
points;
Variable
N : Entier;
Début
Ecrire ( Entrer le nombre de
projets réalisés );
Lire (N);
Cas N vaut
1 : Ecrire ( vous avez 1
point ) ; 2 : Ecrire ( vous
avez 2 points ) ;
3 : Ecrire ( vous avez 3
points ) ;
4 : Ecrire ( vous avez 4
points ) ;
Sinon
Ecrire ( vous n’avez