CORRIGÉ – EVALUATION EN ALGORITHMIQUE TEST 07/XX
Exercice 01 : Question de Cours (5 pts)
- Qu’est-ce qu’un invariant de boucle ?
Un invariant de boucle est une propriété logique qui reste toujours vraie avant l’entrée dans la boucle, après chaque itération de la boucle et à la sortie de la boucle. Il sert principalement à raisonner sur la correction d’un algorithme et à prouver que la boucle réalise bien ce qui est attendu.
- Combien de structures de contrôle répétitives distingue-t-on ?
On distingue trois (03) structures répétitives :
- La boucle Pour
- La boucle TantQue
- La boucle Répéter … Jusqu’à
- Différence entre la boucle Pour et la boucle TantQue
La boucle Pour est utilisée lorsque le nombre d’itérations est connu à l’avance. La boucle TantQue est utilisée lorsque le nombre d’itérations n’est pas connu à l’avance et dépend d’une condition logique.
- Différence fondamentale entre la boucle Pour et la structure Si
La boucle Pour permet de répéter plusieurs fois un même traitement, tandis que la structure Si permet uniquement de choisir entre plusieurs traitements sans répétition.
- Signification des mots-clés div et mod
div représente la division entière (quotient sans la partie décimale).
mod représente le reste de la division entière.
Exemple :
17 div 5 = 3
17 mod 5 = 2
Exercice 02 : Exécution Manuelle (3 pts)
ALGORITHME 01 : GeniusTest3
a) Erreurs potentielles
b) Pour n = 946
c = 946 div 100 = 9
d = (946 mod 100) div 10 = 4
u = 946 mod 10 = 6
s = 9 + 4 + 6 = 19
s ≥ 10 donc :
d2 = 19 div 10 = 1
u2 = 19 mod 10 = 9
s2 = 1 + 9 = 10
s2 ≥ 10 donc :
d3 = 10 div 10 = 1
u3 = 10 mod 10 = 0
s3 = 1 + 0 = 1
Sortie écran :
S3 = 1
Conclusion : Cet algorithme calcule la somme répétée des chiffres jusqu’à obtenir un nombre à un seul chiffre (racine numérique).
ALGORITHME 02 : GeniusTest4
a) Erreurs potentielles
b) Pour nom = "Gray"
Initialisation : n = 0, s = 0
| i |
n |
s |
| 1 |
5 |
5 |
| 2 |
10 |
15 |
| 3 |
15 |
30 |
Sortie écran :
30
Félicitation : Gray vous avez terminez l’exécution de cet algorithme
Exercice 03 : Structure Conditionnelle (3 pts)
Algorithme Intervalle ;
Var
a, b, c : entier ;
Debut
Ecrire("Donner a et b :") ;
Lire(a, b) ;
Si a > b Alors
Ecrire("Erreur :", a , ">", b) ;
Sinon
Ecrire("Donner c :") ;
Lire(c) ;
Si (c >= a ET c <= b) Alors
Ecrire(c ,"est dans l'intervalle [ " , a , ", " , ",", b , "]") ;
Sinon
Ecrire(c, " n'est dans l'intervalle [ " , a , ", " , ",", b, "]");
FinSi
FinSi
Fin.
Exercice 04 : Structure Répétitive (4 pts)
Algorithme CompteNegatifs ;
Var
i, x, cpt : entier ;
Debut
cpt <- 0 ;
Pour i de 1 a 10 faire
Lire(x) ;
Si x < 0 Alors
cpt <- cpt + 1 ;
FinSi
FinPour
Ecrire("Vous avez entrez ", cpt, " nombres négatifs") ;
Fin.
Problème : Jeu d’échecs (5 pts)
Algorithme Echiquier ;
Var
i, j : entier ;
Debut
Pour i de 1 a 8 faire
Pour j de 1 a 8 faire
Si ( (i + j) mod 2 = 0 ) Alors
Ecrire("#", sansRetour) ;
Sinon
Ecrire(" ", sansRetour) ;
FinSi
FinPour
Ecrire("") ;
FinPour
Fin.
Par Joel_Yk | Contact : +237652027193