Adloun

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

  1. Le traduire en Python.
  2. Donner l'affichage.
  3. 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.