Bases de la programmation (trace de pseudo-code)
La boucle for suivante augmente sa variable de boucle de 5 à chaque passage. Quelle est la valeur de c après son exécution ?
integer: c ← 0
for (i from 10 to 50 step 5)
c ← c + 1
endfor
- A8
- B9
- C10
Afficher la réponse et l'explication
Réponse : B. 9
i prend les valeurs 10, 15, 20, 25, 30, 35, 40, 45 et 50 ; la valeur suivante, 55, dépasse la valeur finale 50, et la boucle se termine. (50 − 10) ÷ 5 = 8 est le nombre d'intervalles entre ces valeurs, et le nombre de valeurs, les deux extrémités 10 et 50 comprises, est 8 + 1 = 9 : le corps s'exécute donc 9 fois. Comme dans le problème des piquets de clôture, confondre le nombre d'intervalles et le nombre de points provoque une erreur de décalage d'une unité (erreur off-by-one).
Continuer : 9 autres questions sur Bases de la programmation (trace de pseudo-code)