Su ith
w
Cours 3(Algorithmique)
ite
d
te
Youssef RACHIDI
[Link]@[Link]
ea
ce
Cr
2024/2025, Semestre 1
ffi
O
lDUT-Inf l1
Les structures
Su ith
Conditionnelles
w
ite
d
te
ea
ce
Cr
ffi
O
l2
Structures Séquentielle !!!!!
Besoin a des concepts de ruptures de
séquence
Su ith
Algorithme division
w
Variables • Rare les algorithme qui peuvent se
A,B : réels décrire uniquement par un
enchaînement séquentiel
ite
Début
d
d’opération élémentaire
Ecrire (‘’donner le nombre A’’);
Lire (A);
te • On a besoin a des concept de rupture
de séquence comme les test et les
ea
Ecrire (‘’donner le nombre B’’); boucles
Lire (B);
ce Ex :
Cr
ü un algorithme qui résout une
Ecrire (‘’le resultat est : ’’,A/B); équation de deuxième degré
ffi
ü un algorithme qui calcule une
série numérique
Fin
O
ü Algorithme de division
l3
lDUT-Inf l2021/2022
Les structures conditionnelles et les boucles
Su ith
• Les tests simples : permet de réaliser un choix parmi deux possibilités
(Ex :Booléenne : vrais ou faux)
w
• Les instructions conditionnelles : c’est un concept de tests
multiples, permet de comparer un objet à une série de valeurs, et exécuter si la
ite
condition est vérifier (Ex : recherche des nombres premier dans une ensemble)
d
•
te
Les itérations : consiste a exécuté un bloc d’instructions un certain nombre
de fois (Ex : calcul d’une suite numérique)
ea
• Les boucles conditionnelles : consiste a exécuté un bloc
ce
d’instructions un certain nombre de fois si la condition est vérifier (Ex : On veut
Cr
afficher le 100 premiers nombres :. Tant que i est plus petit que 100, afficher la valeur de i).
ffi
O
l4
lDUT-Inf
Tests: instructions conditionnelles (1)
Su ith
• Les instructions conditionnelles servent à n'exécuter une
instruction ou une séquence d'instructions que si une condition est
w
vérifiée
• On utilisera la forme suivante:
ite
d
Si condition alors
instruction ou suite d'instructions1
Sinon te
instruction ou suite d'instructions2
ea
Finsi
ce
◦ La condition ne peut être que vraie ou fausse
Cr
◦ Si la condition est vraie, se sont les instructions1 qui seront exécutées
ffi
◦ Si la condition est fausse, se sont les instructions2 qui seront exécutées
O
◦ La condition peut être une condition simple ou une condition composée de
plusieurs conditions
l5
lDUT-Inf
Structure Conditionnelle simple
Su ith
• La partie Sinon n'est pas obligatoire, quand elle n'existe pas
w
et que la condition est fausse, aucun traitement n'est réalisé
◦ On utilisera dans ce cas la forme simplifiée suivante:
ite
d
te
Si condition alors
instruction ou suite d'instructions1
ea
Fin si
ce
Cr
ffi
O
l6
lDUT-Inf
Algorithme division
Variables
A,B : réels
Su ith
Début
Ecrire (‘’donner le nombre A’’);
w
Lire (A);
ite
Ecrire (‘’donner le nombre B’’);
d
Lire (B);
Si
te
B<> 0 Alors
ea
Ecrire (‘’le resultat est : ’’,A/B);
ce
Fin si
Cr
ffi
Fin
O
lDUT-Inf l7
Exercice avec condition
simple
Su ith
Écrire un algorithme qui permet de
calculer le maximum de deux nombres
w
réels saisies par l’utilisateur .
ite
d
te
NB : utiliser la condition simple
ea
SI …… ALORS ……
ce
FINSI
8 12
Cr
ffi
O
l2020/2021
lMax= 12 l8
Algorithme Maximum
Variables
A, B, Max : réels
Su ith
Début
w
Ecrire (‘’donner le nombre A’’);
Lire (A);
ite
Ecrire (‘’donner le nombre B’’);
d
Lire (B);
Max ß A
Si
te
Max < B Alors
ea
Maxß B
ce
Fin si
Cr
Ecrire (‘’le maximum est : ’’,Max);
ffi
Fin
O
lDUT-Inf l9
Exemple (Si…Alors…Sinon)
Su ith
w
ite
d
Écrire un algorithme qui consiste a afficher la
te
valeur absolue d’un nombre réel?
ea
ce
Cr
ffi
O
l10
lDUT-Inf
Exemple (Si…Alors…Sinon)
Su ith
Algorithme AffichageValeurAbsolue (version1)
Variable x : réel
w
Début
Ecrire (" Entrez un réel : ”);
ite
d
Lire (x);
te
Si ( x < 0) alors
Ecrire ("la valeur absolue de ", x, "est:",-x);
ea
Sinon
Ecrire ("la valeur absolue de ", x, "est:",x);
ce
Cr
Finsi
Fin
ffi
O
l11
lDUT-Inf
Exemple (Si…Alors)
Su ith
w
Écrire un algorithme qui consiste a afficher
la valeur absolue d’un nombre réel?
ite
d
te
Cette fois vous ne devrez pas utilisez
ea
l’instruction(Sinon).
ce
Cr
ffi
O
l12
lDUT-Inf
Exemple (Si…Alors)
Su ith
Algorithme AffichageValeurAbsolue (version2)
Variable x,y : réel
w
Début
Ecrire (" Entrez un réel : ”);
ite
d
Lire (x);
y← x;
te
Si x < 0 alors
ea
y ← -x;
Finsi
ce
Cr
Ecrire ("la valeur absolue de ", x, "est:",y);
Fin
ffi
O
l13
lDUT-Inf
Exercice (tests)
Su ith
Ecrire un algorithme qui demande un nombre
entier à l'utilisateur, puis qui teste et affiche s'il
w
est
ite
d
divisible par 3?
te
On utilise la forme suivante:
ea
Si condition alors
ce
Cr
Instruction 1
ffi
Sinon
Instruction 2
O
Finsi
l14
lDUT-Inf
Exercice (tests)
Su ith
Ecrire un algorithme qui demande un nombre entier à
l'utilisateur, puis qui teste et affiche s'il est divisible par 3
w
Algorithme Divsible_par3
ite
Variable N : entier
d
Début
te
Ecrire (" Entrez un entier : ”);
Lire (N);
ea
Si ( N MOD 3 = 0 ) Alors
ce
Ecrire (N," est divisible par 3");
Cr
Sinon
Ecrire (N," n'est pas divisible par 3");
ffi
Fin si
Fin
O
l15
lDUT-Inf
Conditions composées
Su ith
• Une condition composée est une condition formée de plusieurs
conditions simples reliées par des opérateurs logiques:
w
ET, OU, OU exclusif (XOR) et NON
ite
d
• Exemples :
◦ x compris entre 2 et 6 : (x > 2) ET (x < 6)
te
◦ n divisible par 3 ou par 2 : (n%3=0) OU (n%2=0)
ea
•
ce
L'évaluation d'une condition composée se fait selon des règles
Cr
présentées généralement dans ce qu'on appelle tables de vérité
ffi
O
l16
lDUT-Inf
Tables de vérité
Su ith
C1 C2 C1 ET C2 C1 C2 C1 OU C2
w
VRAI VRAI VRAI VRAI
VRAI FAUX VRAI FAUX
ite
d
FAUX VRAI FAUX VRAI
FAUX
te
FAUX FAUX FAUX
ea
C1 C2 C1 XOR C2
VRAI
ce VRAI
C1 NON C1
Cr
VRAI
VRAI FAUX
ffi
FAUX
FAUX VRAI
FAUX FAUX
O
l17
lDUT-Inf
Tables de vérité
Su ith
C1 C2 C1 ET C2 C1 C2 C1 OU C2
w
VRAI VRAI VRAI
VRAI VRAI VRAI
VRAI FAU FAUX
VRAI FAUX VRAI
ite
X
d
FAU VRAI FAUX FAUX VRAI VRAI
X
FAU
te
FAU FAUX
FAUX FAUX FAUX
ea
X X C1 NON C1
C1 C2 C1 XOR
ce C2 VRAI FAUX
Cr
VRAI VRAI FAUX FAUX VRAI
ffi
VRAI FAUX VRAI
FAUX VRAI VRAI lA XOR B = (A ET non B) OU (non A ET B)
O
l18
FAUX FAUX FAUX
lDUT-Inf
Tests imbriqués
Su ith
• Les tests peuvent avoir un degré quelconque d'imbrications
Si condition1 alors
w
Si condition2 alors
ite
instructionsA
d
Sinon
inon
te instructionsB
ea
Finsi
Sinon
ce
Si condition3 alors
Cr
instructionsC
ffi
Finsi
O
Finsi
l19
lDUT-Inf
Tests imbriqués: exemple (version 1)
Su ith
Algorithme NegPos
w
Variables n : entier
Début
Ecrire ("entrez un nombre : ");
ite
d
Lire (n);
Si (n < 0) alors
Sinon te
Ecrire ("Ce nombre est négatif");
ea
Si (n = 0) alors
Ecrire ("Ce nombre est nul");
ce
Sinon
Cr
Ecrire ("Ce nombre est positif");
Finsi
ffi
Finsi
Fin
O
l20
lDUT-Inf
Tests imbriqués: exemple (version 2)
Algorithme NegPos2
Variables n : entier
Su ith
Début
Ecrire ("entrez un nombre : ");
Lire (n);
w
Si (n < 0) alors
Ecrire ("Ce nombre est négatif");
ite
d
Finsi
Si (n = 0) alors
Finsi
te Ecrire ("Ce nombre est nul");
ea
Si (n > 0) alors
ce Ecrire ("Ce nombre est positif");
Cr
Finsi
ffi
Fin
O
Remarque : dans la version 2 on fait trois tests systématiquement
l21
alors que dans la version 1, si le nombre est négatif on ne fait
qu'un seul test .
Tests imbriqués: exercice
Su ith
Le prix de photocopies dans une reprographie varie selon le
nombre demandé: 0,5 DH la copie pour un nombre de
copies inférieur à 10 et 0,4 DH pour un nombre compris
w
entre 10 et 20 et 0,3 DH au-delà.
ite
d
Ecrivez un algorithme qui demande à
te
l’utilisateur le nombre de photocopies
ea
effectuées, qui calcule et affiche le prix à
payer ?
ce
Cr
ffi
O
l22
lDUT-Inf
Tests imbriqués: corrigé de l'exercice
Algorithme cop
Su ith
Variables copies : entier
prix : réel
Début
w
Ecrire ("Nombre de photocopies : ");
Lire (copies);
ite
d
Si (copies < 10) alors
prix ← copies*0.5;
Sinon
te Si (copies < 20) alors
ea
prix ← copies*0.4;
Sinon
ce prix ← copies*0.3;
Cr
Finsi
Finsi
ffi
Ecrire (“Le prix à payer est : ”, prix);
Fin
O
l23
lDUT-Inf
Tests imbriqués: Exercice 2
Su ith
w
Écrire l’algorithme du traitement qui calcule le discriminant
DELTA d’trinome du second degré AX2 + BX + C et qui, en
ite
fonction de son signe, calcule la ou les racines réelles du
d
trinome ou afiche, si besoin est qu’il n’ya pas de racine réelle.
te
Les trois coefficients A, B et C seront saisis au clavier avant
ea
traitement.
ce
Cr
ffi
O
l24
lDUT-Inf
Tests imbriqués: corrigé de l'exercice 2
Algorithme Equation
Su ith
Variables A, B, C, Delta, sol1, sol2 : réels
Début
Ecrire (‘’ donner les nombres A, B et C’’);
w
Lire (A, B, C);
Delta ← B*B – 4*A*C;
ite
d
Si (Delta < 0) alors
Ecrire ( ’’le trinome n’a pas de racine réelle ’’);
Sinon
te Si (Delta > 0) alors
sol1 ← (-B + racine(Delta)) / 2*A;
ea
sol2 ← (-B – racine(Delta)) / 2*A;
sol2);
ce Ecrire (‘’le trinome possède deux racines réelles : ‘’, sol1,
Cr
Sinon
sol1 ← -B /(2*A);
ffi
Ecrire (‘’ le trinome possède une racine réelle : ‘’, sol1);
Finsi
Finsi
O
Fin
l25
lDUT-Inf
Choix multiple
Su ith
Syntaxe :
w
ite
Selon …….Que
d
te
ea
ce
Cr
ffi
O
l2020/2021 lDUT-Inf l26
Cr
ea
O te
ffi d
w
l2020/2021
ce
Su ith
lDUT-Inf
l27 ite