Université Péléforo Gon Coulibaly (UPGC)
Dpt Math Physique Chimie Licence 1
Année académique 2024-2025
CORRECTION : EXAMEN
D’ALGORITHMIQUE
Session 1
Exercice 1 : Analyse de boucle
1. Condition d’arrêt de la boucle
La condition de continuation de la boucle TANTQUE est : (k >= 1 et k <= A).
La condition d’arrêt est la négation logique de cette condition de continuation.
En appliquant les lois de De Morgan :
NON(k ≥ 1 ET k ≤ A) = NON(k ≥ 1) OU NON(k ≤ A)
= (k < 1) OU (k > A)
Condition d’arrêt : (k < 1) OU (k > A)
2. Exécution manuelle et valeurs finales
Suivons l’évolution des variables étape par étape :
— Initialisation : k = 1, Somme = 0, A = 8.
— Itération 1 :
— Test : (1 ≥ 1 et 1 ≤ 8) → VRAI.
— Somme ← 0 + 1 = 1
— A←8−2=6
— k ←1+2=3
— Itération 2 :
— Test : (3 ≥ 1 et 3 ≤ 6) → VRAI.
— Somme ← 1 + 3 = 4
— A←6−2=4
— k ←3+2=5
— Itération 3 :
— Test : (5 ≥ 1 et 5 ≤ 4) → FAUX.
1
— Sortie de la boucle.
L’algorithme affiche la valeur finale de Somme.
Valeur de Somme affichée : 4 Valeur finale de A : 4
3. Réécriture avec la boucle REPETER JUSQUA
Listing 1 – Algorithme avec boucle REPETER
ALGORITHME Exer cice1_ Repete r ;
VAR k : ENTIER ;
Somme , A : REEL ;
DEBUT
k <- 1 ;
Somme <- 0 ;
A <- 8 ;
REPETER
Somme <- Somme + k ;
A <- A - 2 ;
k <- k + 2 ;
JUSQUA ( k < 1 OU k > A ) ;
AFFICHER ( Somme ) ;
FIN .
2
Exercice 2 : Manipulation de tableaux
TYPE TabReel = Tableau [1..10] de REEL ;
PROCEDURE Saisie ( VAR T : TabReel )
VAR i : ENTIER ;
DEBUT
POUR i ALLANT DE 1 A 10 FAIRE
ECRIRE (" Entrer le nombre " , i , " : ") ;
LIRE ( T [ i ]) ;
FINPOUR
FIN ;
PROCEDURE Ajout ( VAR T : TabReel )
VAR i : ENTIER ;
DEBUT
POUR i ALLANT DE 1 A 10 FAIRE
SI ( T [ i ] < 8) ALORS
T [ i ] <- T [ i ] + 2.5 ;
FINSI
FINPOUR
FIN ;
FONCTION Max ( T : TabReel ) : REEL
VAR i : ENTIER ;
maximum : REEL ;
DEBUT
maximum <- T [1] ;
POUR i ALLANT DE 2 A 10 FAIRE
SI ( T [ i ] > maximum ) ALORS
maximum <- T [ i ] ;
FINSI
FINPOUR
RETOURNER maximum ;
FIN ;
ALGORITHME Principal_Ex2 ;
VAR T : TabReel ;
DEBUT
Saisie ( T ) ;
Ajout ( T ) ;
AFFICHER (" Le plus grand nombre est : " , Max ( T ) ) ;
FIN .
3
Exercice 3 : Gestion de facturation
Analyse du calcul du montant
Le calcul du montant brut se fait selon les tranches si le total est ≤ 50, sinon un tarif unique
s’applique.
— Si N b ≤ 20 : P rix = N b × 25
— Si 20 < N b ≤ 50 : P rix = (20 × 25) + (N b − 20) × 20
— Si N b > 50 : P rix = N b × 10
— Réduction : Si Age < 18, alors N et = Brut × 0.95, sinon N et = Brut.
ALGORITHME F a c t u r a t i o n _ P h o t o c o p i e ;
VAR NbCopies , Age : ENTIER ;
MontantBrut , MontantNet : REEL ;
DEBUT
ECRIRE (" Entrez le nombre de copies : ") ;
LIRE ( NbCopies ) ;
ECRIRE (" Entrez l ’ age ␣ du ␣ client ␣ : ␣ ") ␣ ;
␣ ␣ ␣ ␣ LIRE ( Age ) ␣ ;
␣ ␣ ␣ ␣ // ␣ Calcul ␣ du ␣ montant ␣ brut ␣ selon ␣ les ␣ conditions ␣ de ␣ volume
␣ ␣ ␣ ␣ SI ␣ ( NbCopies ␣ >␣ 50) ␣ ALORS
␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ MontantBrut ␣ <-␣ NbCopies ␣ * ␣ 10 ␣ ;
␣ ␣ ␣ ␣ SINON
␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ SI ␣ ( NbCopies ␣ <= ␣ 20) ␣ ALORS
␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ MontantBrut ␣ <-␣ NbCopies ␣ * ␣ 25 ␣ ;
␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ SINON
␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ // ␣ Cas ␣ entre ␣ 21 ␣ et ␣ 50 ␣ copies
␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ MontantBrut ␣ <-␣ (20 ␣ * ␣ 25) ␣ + ␣ ( NbCopies ␣ -␣ 20) ␣ * ␣ 20 ␣ ;
␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ FINSI
␣ ␣ ␣ ␣ FINSI
␣ ␣ ␣ ␣ // ␣ Application ␣ de ␣ la ␣ reduction ␣ de ␣ 5% ␣ pour ␣ les ␣ mineurs
␣ ␣ ␣ ␣ SI ␣ ( Age ␣ <␣ 18) ␣ ALORS
␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ MontantNet ␣ <-␣ MontantBrut ␣ * ␣ 0.95 ␣ ;
␣ ␣ ␣ ␣ SINON
␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ MontantNet ␣ <-␣ MontantBrut ␣ ;
␣ ␣ ␣ ␣ FINSI
␣ ␣ ␣ ␣ AFFICHER (" Le ␣ montant ␣ net ␣ a ␣ payer ␣ est ␣ : ␣ " , ␣ MontantNet , ␣ " ␣ F ") ␣ ;
FIN .