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
  1. A8
  2. B9
  3. 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).

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases de la programmation (trace de pseudo-code)

  1. Dans le programme suivant, and n'évalue pas son membre droit quand le membre gauche est faux (évaluation en court-circuit). cnt est une variable globale. Quelle est la valeur de cnt après l'exécution du programme ?
  2. Le programme suivant cherche la valeur x dans le tableau a de n éléments et place dans i l'indice où elle est trouvée. Les indices du tableau commencent à 1. and et or n'évaluent pas leur membre droit quand le membre gauche suffit à déterminer le résultat. Quelle condition en 【a】 lit a[n + 1], en dehors du tableau, quand x n'est pas dans a ?
  3. Les valeurs réelles sont représentées en double précision IEEE 754 (binary64), et chaque somme est arrondie à la valeur représentable la plus proche. Quelle est la valeur de c après l'exécution du programme suivant ?
  4. La classe Counter donne à chaque instance sa propre variable membre entière count (0 à la création), et sa méthode inc() ajoute 1 à son propre count. Quelle est la valeur de x après l'exécution du programme suivant ?
  5. La classe Counter donne à chaque instance sa propre variable membre entière count (0 à la création), et sa méthode inc() ajoute 1 à son propre count. Une variable de type Counter contient une référence à une instance, et non l'instance elle-même. Quelle est la valeur de x après l'exécution du programme suivant ?