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.
- Afficher les premiers termes de la suite avec .
- 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
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 14 autres exercices corrigés dans ce chapitre, et 21 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre et la correction filmée du TD : 2 minutes sans compte
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.