Étape 1
On procède par analyse à rebours en examinant la valeur de la variable à la fin de chacune des 4 répétitions de la boucle.
Étape 2
Au 4e tour, la valeur finale est 54. Si la condition avait été validée, la valeur avant d'ajouter 7 était $54 - 7 = 47$. Comme 47 est bien strictement supérieur à 25, la condition était validée. Avant d'ajouter 3, la variable valait donc $47 - 3 = 44$. À la fin du 3e tour, la variable valait donc 44.
Étape 3
Au 3e tour, la valeur finale est 44. En testant l'exécution de la condition : $44 - 7 = 37$. Comme 37 est supérieur à 25, la condition était validée. Avant d'ajouter 3, la variable valait $37 - 3 = 34$. À la fin du 2e tour, la variable valait donc 34.
Étape 4
Au 2e tour, la valeur finale est 34. De même : $34 - 7 = 27$. Comme 27 est supérieur à 25, la condition était validée. Avant d'ajouter 3, la variable valait $27 - 3 = 24$. À la fin du 1er tour, la variable valait donc 24.
Étape 5
Au 1er tour, la valeur finale est 24. Si la condition avait été validée, la valeur avant d'ajouter 7 aurait été $24 - 7 = 17$. Or, 17 n'est pas strictement supérieur à 25 : la condition n'a donc pas pu être exécutée lors de ce premier tour. Seule l'instruction « ajouter 3 » a été effectuée. Le nombre initial vérifie donc : $$24 - 3 = 21$$
Étape 6
Le nombre choisi au départ était donc 21.
Méthode clé
Effectuer un raisonnement à rebours en testant si la condition « supérieur à 25 » était vérifiée avant l'ajout du bonus.
Piège à éviter
Soustraire 10 à chaque étape sans vérifier si la valeur intermédiaire respectait la condition du bloc « si ».