Bases de la programmation (trace de pseudo-code)

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 ?

Counter: c1 ← new Counter()
Counter: c2 ← new Counter()
c1.inc()
c1.inc()
c2.inc()
c1.inc()
integer: x ← c1.count × 10 + c2.count
  1. A13
  2. B31
  3. C44
Afficher la réponse et l'explication

Réponse : B. 31

En programmation orientée objet, new Counter() crée une nouvelle instance à chaque appel : c1 et c2 ont donc chacune leur propre count. c1.inc() n'incrémente que le count de c1 : c1.count = 3 et c2.count = 1. x = 3 × 10 + 1 = 31. La valeur de chaque variable membre est conservée séparément pour chaque instance.

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

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

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