Basis van programmeren (pseudocode traceren)
÷ staat voor deling; bij toekenning aan een variabele van het type integer (ook een argument) worden de cijfers achter de komma weggelaten. Wat is de retourwaarde als de volgende functie toBin wordt aangeroepen als 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
Antwoord en toelichting tonen
Antwoord: C. 1100
x mod 2 is het laagste binaire cijfer, en x ← x ÷ 2 schuift het binaire getal één positie naar rechts. x wordt achtereenvolgens 12, 6, 3, 1 en 0, wat vanaf het laagste cijfer de cijfers 0, 0, 1, 1 oplevert. p wordt telkens tien keer zo groot, 1, 10, 100, 1000, dus y = 0 × 1 + 0 × 10 + 1 × 100 + 1 × 1000 = 1100. Het resultaat schrijft de binaire cijfers van 12 als de decimale cijfers van een geheel getal.
Verder: nog 9 vragen over Basis van programmeren (pseudocode traceren)