Un algorithme de seuil, des deux côtés
Exercice de TD · niveau 2 · sciences numériques et technologie (seconde), chapitre 4 — Les boucles · Du langage naturel à Python
Énoncé
On considère l'algorithme suivant :
> ; > Tant que : > > > Afficher et
- Le traduire en Python.
- Donner l'affichage.
- Le réécrire en langage naturel de façon à décrire ce qu'il cherche, et non comment il le cherche.
Corrigé
1.
u = 500
n = 0
while u > 20:
u = u * 0.8
n = n + 1
print(n, u)
2. L'affichage est 15 18.014398509481983.
On part de et l'on multiplie par à chaque tour : après tours, . Il faut tours pour passer sous .
3. Description de l'intention :
> Une quantité valant diminue de à chaque étape. L'algorithme cherche le plus petit nombre d'étapes au bout duquel elle devient inférieure ou égale à , et renvoie ce nombre ainsi que la valeur atteinte.
La différence entre les deux descriptions est tout l'enjeu du chapitre. La première dit comment : elle se traduit ligne à ligne. La seconde dit quoi : elle permet de vérifier que le programme répond bien à la question posée — et, ici, de remarquer que la réponse est le plus petit tel que , que l'on saura résoudre par le logarithme en Terminale.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.