Les Maths en Seconde

L'essentiel pour réussir!

Algorithmes

Exercice 4

RAPPELS POUR LES DEBUTANTS
L'instruction    Pour $I$ allant de 0 à $N-1$    est le début d'une boucle.
Les instructions qui suivent jusqu'à la    Fin du Pour    seront répétées.
Ici, il n'y a qu'une seule instruction à répéter, qui est    $U$ ← $0,95×U$
A chaque fin de boucle, la variable $I$ est automatiquement augmentée de 1.
A la dernière boucle, $I$ vaut $N-1$.


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

Lire $N$
$U$ ← 1000
Pour $I$ allant de 0 à $N-1$
   $U$ ← $0,95×U$
Fin du Pour
Afficher $U$

1. Donner les valeurs successives prises par $I$ et $U$ lorsque le programme fonctionne pour une valeur de $N$ égale à 2.
Que s'affiche-t-il à la fin?

2. Une citerne contient 1000 litres d'eau. Chaque jour, 5% de l'eau s'évapore.
Quel serait l'intérêt d'un tel algorithme dans ce cas?

3. Ecrire un algorithme donnant le même résultat que celui donné au début de l'énoncé, mais en remplaçant la boucle Pour par une boucle Tant que.

4. Supprimer une ligne de l'algorithme précédent, puis en modifier deux lignes pour que le nouvel algorithme permette de déterminer au bout de combien de jours la citerne contiendra moins de 900 litres.

Solution...

Corrigé

1. $N=2$; $U=1000$.
On note que $N-1=2-1=1$.
La boucle sera répétée pour I variant de 0 à 1.

$I=0$: Première boucle
$U=0,95×1000=950$.
Fin de la première boucle.
$I=1$: Seconde boucle
$U=0,95×950=902,5$.
Fin de la seconde boucle.
Il n'y a pas de troisième boucle car I variait de 0 à 1 dans les boucles, et il a atteint 1 à la fin de la dernière boucle.
Finalement, il s'affiche la valeur de $U$, c'est à dire 902,5.

2. Si chaque jour, 5% de l'eau s'évapore, alors il en reste 95%.
Et par là, si U est la quantité restant dans la citerne un jour donné, alors la quantité qui reste le lendemain vaut $0,95×U$.
Le programme proposé demande donc à l'utilisateur de saisir une valeur $N$ qui correspond à un nombre de jours. Puis il affiche la quantité d'eau restant dans la citerne au bout de ces N jours.
Par exemple, au bout de 2 jours (N=2), le programme renvoie une valeur égale à 902,5, c'est à dire qu'il reste 902,5 litres d'eau dans la citerne au bout de 2 jours.

3. Algorithme équivalent à celui du début:

Lire $N$
$U$ ← 1000
$I$ ← 0
Tant que $I$<$N$
   $U$ ← $0,95×U$
   $I$ ← $I+$1
Fin du Tant que
Afficher $U$

(Noter que, cette fois ci, il est indispensable d'augmenter $I$ de 1, car l'incrémentation n'est pas automatique à la fin d'une boucle du type Tant que)

4. Nouvel algorithme:
(Noter que la ligne Lire $N$ a disparu)
$U$ ← 1000
$I$ ← 0
Tant que $U≥900$ (Noter le $U≥900$ à la place de $I$<$N$)
   $U$ ← $0,95×U$
   $I$ ← $I+$1
Fin du Tant que
Afficher $I$ (Noter le $I$ à la place de $U$)

Remarque: si l'on fait fonctionner cet algorithme, il s'affichera finalement 3 (car $u_3=857,375$ est la première valeur de $u_n$ en dessous de 900).
Finalement, la citerne contient moins de 900 litres au bout de 3 jours.


Réduire...

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