Étape 1
On analyse le fonctionnement du script pour les paramètres transmis : $V = 9$, $\delta = 1{,}5$ et $p_{\text{seuil}} = 0{,}04$.
Étape 2
La boucle while continue de s'exécuter tant que la condition suivante est satisfaite : $$\frac{V}{n \cdot \delta^2} > p_{\text{seuil}}$$
Étape 3
Calculons l'expression $\delta^2$ : $$1{,}5^2 = 2{,}25$$
Étape 4
L'expression évaluée dans le test s'écrit donc : $$\frac{9}{n \times 2{,}25} = \frac{9}{2{,}25 \times n} = \frac{4}{n}$$
Étape 5
La condition de maintien dans la boucle s'écrit ainsi $\frac{4}{n} > 0{,}04$. Par conséquent, la boucle s'arrête dès que cette condition n'est plus vérifiée, c'est-à-dire dès que : $$\frac{4}{n} \le 0{,}04$$
Étape 6
Résolvons cette inégalité pour l'entier strictement positif $n$ : $$\frac{4}{n} \le 0{,}04 \iff 4 \le 0{,}04 \times n \iff n \ge \frac{4}{0{,}04}$$
Étape 7
Or, $\frac{4}{0{,}04} = \frac{400}{4} = 100$. L'inégalité d'arrêt est donc $n \ge 100$.
Étape 8
Pour $n = 1, 2, \dots, 99$, la condition de la boucle reste vraie. Dès que $n = 100$, la condition devient fausse, la boucle se termine et la fonction renvoie la valeur courante de $n$, soit $100$.
Méthode clé
Pour déterminer le résultat d'une boucle conditionnelle sans effectuer un déroulement manuel trop long, il faut traduire la condition d'arrêt sous la forme d'une inégalité algébrique puis déterminer le premier entier la vérifiant.
Piège à éviter
Confondre la condition de maintien dans la boucle avec la condition d'arrêt, ou commettre une erreur lors de la division par le nombre décimal.