Étape 1
Pour déterminer la valeur renvoyée par l'appel trouver_seuil(L, 13), traçons pas à pas l'exécution de la boucle for avec la liste $L = [3, -1, 5, 2, -4, 6, 1, 4, -2, 5]$ et le seuil $S = 13$.
Étape 2
Au départ, la variable cumul est initialisée à $0$. La boucle parcourt les indices $i$ de $0$ à $\text{len}(L) - 1 = 9$ :
Étape 3
Pour $i = 0$ : $L[0] = 3$. Le nouveau cumul vaut $0 + 3 = 3$. On teste $3 > 13$, ce qui est faux.
Étape 4
Pour $i = 1$ : $L[1] = -1$. Le nouveau cumul vaut $3 + (-1) = 2$. On teste $2 > 13$, ce qui est faux.
Étape 5
Pour $i = 2$ : $L[2] = 5$. Le nouveau cumul vaut $2 + 5 = 7$. On teste $7 > 13$, ce qui est faux.
Étape 6
Pour $i = 3$ : $L[3] = 2$. Le nouveau cumul vaut $7 + 2 = 9$. On teste $9 > 13$, ce qui est faux.
Étape 7
Pour $i = 4$ : $L[4] = -4$. Le nouveau cumul vaut $9 + (-4) = 5$. On teste $5 > 13$, ce qui est faux.
Étape 8
Pour $i = 5$ : $L[5] = 6$. Le nouveau cumul vaut $5 + 6 = 11$. On teste $11 > 13$, ce qui est faux.
Étape 9
Pour $i = 6$ : $L[6] = 1$. Le nouveau cumul vaut $11 + 1 = 12$. On teste $12 > 13$, ce qui est faux.
Étape 10
Pour $i = 7$ : $L[7] = 4$. Le nouveau cumul vaut $12 + 4 = 16$. On teste $16 > 13$, ce qui est vrai.
Étape 11
La condition cumul > S étant vérifiée pour l'indice $i = 7$, l'instruction return i interrompt immédiatement la fonction et renvoie la valeur $7$.
Méthode clé
Effectuer un traçage pas à pas en consignant l'indice $i$, la valeur $L[i]$, le cumul mis à jour et le résultat de la condition logique.
Piège à éviter
Confondre l'indice $i$ renvoyé par la fonction avec la valeur de l'élément $L[i]$ ou avec la valeur de la variable cumul.