Bases de la programmation (trace de pseudo-code)

Les deux affectations du programme suivant devaient échanger les valeurs de x et y. Quelles sont les valeurs de x et y après son exécution ?

integer: x ← 3, y ← 7
x ← y
y ← x
  1. Ax = 3, y = 3
  2. Bx = 7, y = 3
  3. Cx = 7, y = 7
Afficher la réponse et l'explication

Réponse : C. x = 7, y = 7

En pseudo-code, les affectations s'exécutent une par une, de haut en bas. x ← y donne 7 à x, et la valeur d'origine 3 est perdue à ce moment-là. L'affectation suivante y ← x copie alors dans y la nouvelle valeur de x, 7 : on obtient x = 7 et y = 7. Pour échanger deux valeurs, on sauvegarde d'abord la valeur d'origine dans une variable temporaire, par exemple t ← x, x ← y, y ← t.

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

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

  1. Le programme suivant fait circuler des valeurs entre trois variables. Quelles sont les valeurs de a, b et c après son exécution ?
  2. 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 ?
  3. La boucle for suivante augmente i de 2 à chaque passage. Quelle est la valeur de s après son exécution ?
  4. 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 ?
  5. Le programme suivant contient une condition à l'intérieur de boucles imbriquées. Quelle est la valeur de c après son exécution ?