Bases de la programmation (trace de pseudo-code)
Le programme suivant contient une condition à l'intérieur de boucles imbriquées. Quelle est la valeur de c après son exécution ?
integer: c ← 0
for (i from 1 to 4 step 1)
for (j from 1 to i step 1)
if (j mod 2 = 1)
c ← c + 1
endif
endfor
endfor
- A4
- B6
- C10
Afficher la réponse et l'explication
Réponse : B. 6
La boucle intérieure fait varier j de 1 à i et n'incrémente c que lorsque j est impair. Pour i = 1, c'est j = 1 (une fois) ; pour i = 2, j = 1 (une fois) ; pour i = 3, j = 1 et 3 (deux fois) ; pour i = 4, j = 1 et 3 (deux fois), soit au total 1 + 1 + 2 + 2 = 6. Le corps de la boucle intérieure s'exécute 1 + 2 + 3 + 4 = 10 fois en tout, mais la condition n'est vraie que 6 fois. C'est une combinaison élémentaire de structures de contrôle : une sélection à l'intérieur d'une itération.
Continuer : 9 autres questions sur Bases de la programmation (trace de pseudo-code)