Bases de la programmation (trace de pseudo-code)
÷ est la division ; quand le résultat est affecté à une variable entière (y compris un argument de fonction), la partie fractionnaire est supprimée. Quelle est la valeur de retour de la fonction toBin suivante appelée sous la forme toBin(12) ?
○integer: toBin(integer: x)
integer: y ← 0, p ← 1
while (x > 0)
y ← y + (x mod 2) × p
p ← p × 10
x ← x ÷ 2
endwhile
return y
- A11
- B100
- C1100
Afficher la réponse et l'explication
Réponse : C. 1100
x mod 2 est le chiffre des unités en binaire, et x ← x ÷ 2 décale le nombre binaire d'un chiffre vers la droite. x prend les valeurs 12, 6, 3, 1 et 0, ce qui produit les chiffres 0, 0, 1, 1 en partant du poids faible. p est multiplié par dix à chaque passage, 1, 10, 100, 1000 : y = 0 × 1 + 0 × 10 + 1 × 100 + 1 × 1000 = 1100. Le résultat écrit les chiffres binaires de 12 comme les chiffres décimaux d'un entier.
Continuer : 9 autres questions sur Bases de la programmation (trace de pseudo-code)