Boucles bornées (for) et non bornées (while) en 2nde
Boucles bornées (for) et non bornées (while), c'est une notion de mathématiques du chapitre « Algorithmique et programmation Python », au programme de 2nde. Voici le cours, un exemple et de quoi t'entraîner.
Boucles bornées (for) et non bornées (while) : le cours
Une boucle for répète un bloc un nombre de fois connu à l'avance : for i in range(n) répète n fois, i prenant les valeurs 0, 1, ..., n − 1 (et range(a, b) donne a, ..., b − 1). Une boucle while répète un bloc tant qu'une condition est vraie : on l'utilise quand on ne connaît pas à l'avance le nombre de répétitions.
Exemple
Somme des entiers de 1 à 10 avec for : ```python s = 0 for i in range(1, 11): s = s + i ``` À la fin, s vaut 55. Nombre d'années pour qu'un capital de 1 000 € placé à 5 % par an dépasse 1 500 € avec while : ```python c = 1000 n = 0 while c <= 1500: c = c * 1.05 n = n + 1 ``` À la fin, n vaut 9 (après 8 ans, le capital vaut environ 1 477,46 € ; après 9 ans, environ 1 551,33 €).
À retenir
for : nombre de répétitions connu ; while : on répète tant que la condition est vraie (attention à ce qu'elle finisse par devenir fausse).
S'entraîner sur boucles bornées (for) et non bornées (while)
Fais l'exercice, puis demande au tuteur de te corriger pas à pas.
Exercice 1
On considère la fonction suivante (k % 2 donne le reste de la division de k par 2) : ```python def mystere(n): s = 0 k = 1 while k <= n: if k % 2 == 0: s = s + k k = k + 1 return s ``` 1) Que renvoie mystere(6) ? Détaille l'exécution. 2) Que calcule cette fonction en général ?
Corrige cet exercice avec le tuteur →Exercice 2
1) Écris une fonction somme_deux_des() qui simule le lancer de deux dés équilibrés (avec randint) et renvoie la somme obtenue. 2) Écris une fonction frequence_sept(n) qui répète n fois cette expérience et renvoie la fréquence des sommes égales à 7. 3) Sachant que la probabilité d'obtenir une somme égale à 7 est $\frac{6}{36}$, de quelle valeur la fréquence renvoyée devrait-elle être proche quand n est grand ?
Corrige cet exercice avec le tuteur →Cette notion fait partie du chapitre Algorithmique et programmation Python (Mathématiques 2nde).