Bases de la programmation (trace de pseudo-code)

Le programme suivant multiplie x par 3 de façon répétée. Quelle est la valeur de n après son exécution ?

integer: x ← 1, n ← 0
while (x < 100)
  x ← x × 3
  n ← n + 1
endwhile
  1. A4
  2. B5
  3. C6
Afficher la réponse et l'explication

Réponse : B. 5

En notant x et n dans une table de trace, on voit qu'à chaque passage x prend les valeurs 3, 9, 27, 81 et 243, tandis que n augmente de 1. Quand x = 81, x < 100 est encore vrai : la boucle s'exécute une fois de plus et donne x = 243 et n = 5. Le test suivant de x < 100 est faux et la boucle se termine. La condition est testée 6 fois, mais le corps de la boucle ne s'exécute que 5 fois.

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

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

  1. La boucle for suivante augmente i de 2 à chaque passage. Quelle est la valeur de s après son exécution ?
  2. Dans les boucles imbriquées suivantes, la boucle intérieure part de la variable i de la boucle extérieure. Quelle est la valeur de c après l'exécution ?
  3. Le programme suivant contient une condition à l'intérieur de boucles imbriquées. Quelle est la valeur de c après son exécution ?
  4. Le programme suivant devait calculer la somme de tous les éléments du tableau a. Les indices du tableau commencent à 1. Quelle est la valeur de s après son exécution ?
  5. Les indices du tableau commencent à 1. Le programme suivant cherche le plus grand élément. Quelle est la valeur de m après son exécution ?