Adloun

sciences numériques et technologie (seconde) · Chapitre 4 · Exercice de TD

for ou while : lequel convient ?

Les boucles · La boucle bornée : for · niveau 3 (difficile)

Énoncé

Pour chacune des tâches suivantes, dire quelle boucle convient le mieux et pourquoi, puis écrire le programme.

  1. Afficher les premiers termes de la suite avec .
  2. Trouver le premier terme de cette même suite qui dépasse .

Corrigé

1. Une boucle for convient : le nombre de tours, , est connu d'avance.

u = 1
for n in range(10):
    print(n, u)
    u = 2 * u + 1

Elle affiche .

2. Une boucle while s'impose : on ignore combien de termes il faudra calculer, c'est justement ce que l'on cherche.

u = 1
n = 0
while u <= 1000:
    u = 2 * u + 1
    n = n + 1
print("u_" + str(n), "=", u)   # u_10 = 1023

Le critère de choix est simple et se retient : le nombre de répétitions est-il connu avant d'entrer dans la boucle ? Si oui, for ; sinon, while.

On remarquera que la première question donne déjà la réponse à la seconde — mais uniquement parce qu'on avait deviné juste en demandant termes. C'est précisément ce que le while évite de deviner.

100 % gratuit

Essaie le suivant avec le tuteur

Faire l'exercice suivant avec le tuteur

Sans compte : le cours, le premier QCM, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →