correction EVALUATION EN ALGORITHMIQUE TEST 05/ 10
Exercice 1 : Test de connaissance
- Définitions :
- Algorithme : suite finie d’instructions non ambiguës permettant de résoudre un problème bien précis.
- Ordinateur : machine électronique programmable qui exécute des instructions et traite des données.
- Instruction : ordre élémentaire exécutable (affectation, lecture, affichage, test, boucle…).
- Information : donnée interprétée qui a un sens pour l’utilisateur (résultat exploitable).
- Donnée : valeur brute manipulée par le programme (nombre, caractère, chaîne…).
- Pour chaque question apporter un élément de réponse claire.
- 1) Soit une variable a de type réel, si l’on fait a ← 8 :
Réponse : c’est une affectation : on place la valeur 8 dans la variable a (a prend 8).
- 2) Différence entre variable et constante (avec exemple) :
Réponse :
- Variable : valeur modifiable pendant l’exécution. Exemple : x où on peut faire x ← 5 puis x ← 10.
- Constante : valeur fixe non modifiable pendant l’exécution. Exemple : PI = 3,14, N = 100.
- 3) C’est quoi un invariant de boucle ?
Réponse : une propriété vraie avant l’entrée dans la boucle et qui reste vraie à chaque itération. Elle sert à prouver la correction de l’algorithme.
- 4) Qu’est-ce qu’une boucle infinie ?
Réponse : une boucle qui ne se termine jamais (la condition d’arrêt n’est jamais satisfaite ou la variable de contrôle n’évolue pas). Exemple : TantQue(VRAI) Faire .............. FinTantQue.
- 5) Donnez la structure d’un Algorithme :
Réponse (schéma général) :

Exercice 2 : Compléter
|
Rôle
|
Nom de la boucle adéquate
|
|
Le bloc d’opérations est exécuté intégralement puis la condition de terminaison est testée.
|
Répéter ... Jusqu'à
|
|
Répéter un bloc un nombre de fois connu à l’avance en faisant varier automatiquement une variable de boucle.
|
Pour ... FinPour
|
|
La condition de continuation est évaluée avant : si elle est vraie, le bloc est exécuté, sinon on sort.
|
TantQue ... FinTantQue
|
Exercice 3 : QCM (Vrai/Faux)
- En algorithmique une instruction se termine toujours par une virgule. → FAUX (souvent par “;” selon la notation, ou rien selon le pseudo-code).
- Existe-t-il une condition dans la boucle Pour ? → VRAI (la borne/intervalle et le pas imposent une condition d’arrêt implicite).
- Nous distinguons 7 types en algorithmique. → FAUX (cela dépend du cours ; en général : entier, réel, caractère, chaîne, booléen… et types structurés).
- La boucle répéter possède toujours une variable de boucle. → FAUX (elle peut ne pas en avoir ; elle est contrôlée par une condition).
- Les structures répétitives permettent d’exécuter plusieurs fois un bloc… → VRAI.
- Un algorithme est composé d'un nombre fini d'opérations. → VRAI (propriété de finitude).
Exercice 4 : Test d’un pseudo-code
1) Algorithme UnMystère
- Ce que l’algorithme tente de faire :
Il demande deux entiers a et b (avec une saisie répétée), puis calcule c = a + b et l’affiche.
Remarque : d’après la condition (a <= 0 et b <= 0), il force à saisir deux nombres négatifs ou nuls.
- Tableau de trace pour a = -9 et b = -7 :
| Étape |
a |
b |
Condition (a<=0 et b<=0) |
c |
| Lecture |
-9 |
-7 |
VRAI → sortie de la boucle |
- |
| Calcul |
-9 |
-7 |
- |
-16 |
- Sortie écran :
Entrez deux nombres
**********************
C’est un Mystère tout ceci : -16
2) Algorithme Genius_Mystère
- Ce que l’algorithme tente de faire :
Il demande un entier a (répété jusqu’à obtenir a >= 0). Ensuite il effectue des boucles qui modifient a et i, puis affiche a.
Observation : la logique des deux boucles internes n’est pas cohérente : la condition Jusqu’à (a >= 0) dans la boucle qui fait a ← a - 1 est immédiatement vraie si a est déjà positif, donc la boucle s’exécute une seule fois.
- Tableau de trace pour a = 7 :
| Phase |
a |
i |
Commentaire |
| Après saisie |
7 |
- |
a >= 0 donc sortie de saisie |
| Init |
7 |
0 |
i ← 0 |
| Boucle 1 (1 tour) |
6 |
1 |
a ← a-1 ; i ← i+1 puis condition (a>=0) vraie |
| Boucle 2 (1 tour) |
7 |
0 |
a ← a+1 ; i ← i-1 puis condition (i<=0) vraie |
- Sortie écran :
Entrez deux nombres
***** Affichage ****
C’est un Mystère tout ceci : 7
Exercice 5 : Fibonacci
Algorithme (version itérative) :
Algorithme Fibonacci ;
Var n, i : entier ;
f0, f1, f : entier ;
Début
Ecrire("Entrer n : ") ;
Lire(n) ;
Si (n = 0) Alors
Ecrire("F(n) = 0") ;
SinonSi (n = 1) Alors
Ecrire("F(n) = 1") ;
Sinon
f0 ← 0 ;
f1 ← 1 ;
Pour i de 2 à n Faire
f ← f0 + f1 ;
f0 ← f1 ;
f1 ← f ;
FinPour
Ecrire("F(n) = ", f1) ;
FinSi
Fin.
Exercice 6 : Nombres parfaits
Algorithme NombreParfait ;
Var n, i, s : entier ;
Début
Ecrire("Entrer n : ") ;
Lire(n) ;
s ← 0 ;
Pour i de 1 à n-1 Faire
Si (n mod i = 0) Alors
s ← s + i ;
FinSi
FinPour
Si (s = n) Alors
Ecrire(n, " est parfait") ;
Sinon
Ecrire(n, " n'est pas parfait") ;
FinSi
Fin.
Exercice 7 : Équation du 2nd degré
Algorithme Equation2ndDegre ;
Var a, b, c, d, x1, x2 : réel ;
Début
Ecrire("Entrer a, b, c : ") ;
Lire(a, b, c) ;
Si (a = 0) Alors
Ecrire("Erreur : a doit être différent de 0 (ce n'est pas du 2nd degré).") ;
Sinon
d ← b*b - 4*a*c ;
Si (d > 0) Alors
x1 ← (-b - √(d)) / (2*a) ;
x2 ← (-b + √(d)) / (2*a) ;
Ecrire("Deux solutions réelles : x1=", x1, " et x2=", x2) ;
SinonSi (d = 0) Alors
x1 ← (-b) / (2*a) ;
Ecrire("Une solution double : x=", x1) ;
Sinon
Ecrire("Pas de solution réelle (delta < 0).") ;
FinSi
FinSi
Fin.
Par Joel_Yk | Contact :+237652027193