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
Affecter à Gagne la valeur 0
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 "Tu as gagné"
   Affecter à Gagne la valeur 1
   Sortir de la boucle
   Fin du Si
   Fin du Si
Fin du Pour
Si Gagne=0
Alors
Afficher "Tu as perdu"
Fin du Si
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 Sortir de la boucle ?

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

Programmer un programme en PYTHON correspondant à cet algorithme.

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
Gagne vaut 0
On note que I varie de 1 à 5. Il est augmenté automatiquement de 1 au début de chaque nouvelle 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 "Tu as gagné"
Gagne=1
A l'instruction break, le programme sort de la boucle Pour, et il passe à l'instruction suivante (si elle existe). Ici, le programme n'affiche pas "Tu as perdu", car la variable Gagne vaut 1.

La ligne Sortir de la boucle (break en PYTHON) 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 "Tu as gagné", et s'arrête.
Sinon, la machine affiche "Tu as perdu", et s'arrête.

Voici un programme convenable.
python

Réduire...

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