Les Maths en Seconde

L'essentiel pour réussir!

Algorithmes

Exercice 3

RAPPELS POUR LES DEBUTANTS
L'instruction    $U$ ← 5    signifie que la variable U contient la valeur 5.
Elle peut aussi s'écrire    U prend la valeur 5    ou    Affecter à U la valeur 5   .
L'instruction    Lire A    signifie que la variable A contiendra la valeur tapée par l'utilisateur. Le programme va lire la valeur que l'utilisateur aura écrit à l'écran.
On note que l'instruction    Lire A    peut aussi s'écrire    Saisir A   .


On considère un programme associé à l'algorithme suivant:

$U$ ← 5
Lire A
Si A > U
Alors
Afficher "Trop grand"
Sinon
Afficher "Trop petit ou égal"
Fin du Si

1.a. Qu'affiche un programme associé à cet algorithme si A vaut 7 ?

1.b. Qu'affiche un programme associé à cet algorithme si A vaut 4 ?

1.c. Qu'affiche un programme associé à cet algorithme si A vaut 5 ?

On complique l'algorithme qui devient alors:

1. Affecter à $U$ un nombre entier aléatoire entre 0 et 20
2. Lire A
3. Si A > U
4. Alors
5. Afficher "Trop grand"
6. Sinon
7. Si A < U
8. Alors
9. Afficher "Trop petit"
10. Sinon Afficher "Egal"
11. Fin du Si
12. Fin du Si

2.a. A quel Si est associé la Fin du Si de la ligne 12?

2.b. Qu'affiche un programme associé à cet algorithme si U vaut 10 et si A vaut 12 ?

2.c. Qu'affiche un programme associé à cet algorithme si U vaut 10 et si A vaut 9 ?

2.d. Qu'affiche un programme associé à cet algorithme si U vaut 10 et si A vaut 10 ?

3. On complique l'algorithme en ajoutant quelques lignes:

Affecter à $U$ un nombre entier aléatoire entre 0 et 20
Pour I allant de 1 à 5
   Lire A
   Si A > U
   Alors
   Afficher "Trop grand"
   Sinon
   Si A < U
   Alors
   Afficher "Trop petit"
   Sinon Afficher "Egal"
   I ← 5
   Fin du Si
   Fin du Si
Fin du Pour

Qu'affiche un programme associé à cet algorithme si U vaut 10, et si A vaut 15, puis 12, puis 9, puis 10?

A quoi a servi la ligne "I ← 5" ?

A quoi sert ce programme en général?

Solution...

Corrigé

1.a. U vaut 5. Comme A vaut 7, alors A > U, et par là, le programme affiche "Trop grand".

1.b. U vaut 5. Comme A vaut 4, alors A > U n'est pas vérifié, et par là, le programme affiche "Trop petit ou égal".

1.c. U vaut 5. Comme A vaut 5, alors A > U n'est pas vérifié, et par là, le programme affiche "Trop petit ou égal".

2.a. On note que la Fin du Si de la ligne 12 concerne le Si de la ligne 3.
On note que la Fin du Si de la ligne 11 concerne le Si de la ligne 7.

2.b. Si U vaut 10, et si A vaut 12, alors A > U, et par là, le programme affiche "Trop grand".

2.c. Si U vaut 10, et si A vaut 9, alors A < U, et par là, le programme affiche "Trop petit".

2.d. Si U vaut 10, et si A vaut 10, alors A = U, et par là, le programme affiche "Egal".

3. Fonctionnement du programme:
U vaut 10
On note que I varie de 1 à 5. Il est augmenté automatiquement de 1 à la fin de chaque boucle.
I=1: première boucle;
A=15
A > U; il s'affiche "Trop grand"
I=2: deuxième boucle;
A=12
A > U; il s'affiche "Trop grand"
I=3: troisième boucle;
A=9
A < U; il s'affiche "Trop petit"
I=4: quatrième boucle;
A=10
A = U; il s'affiche "Egal"
I=5
Comme I vaut 5 à la fin de cette boucle, le programme estime que c'est la dernière boucle Pour, et il passe à l'instruction suivante (si elle existe). Ici, le programme s'arrête donc.

La ligne "I ← 5" a permis d'éviter une cinquième boucle inutile.

Ce programme permet de jouer au jeu suivant: la machine choisit au hasard un nombre entier entre 0 et 20. Le joueur a alors 5 tentatives pour essayer de deviner ce nombre. A chaque essai, la machine indique au joueur si le nombre qu'il propose est trop grand ou trop petit. Si le joueur a trouvé le bon nombre, alors la machine affiche "Egal", et s'arrête.

Réduire...

Copyright 2016 - maths-2de.com - Toute reproduction interdite - Tous droits réservés.