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
  1. A11
  2. B100
  3. 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.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van programmeren (pseudocode traceren)

  1. Het volgende programma trekt de twee gehele getallen a en b van elkaar af tot ze gelijk zijn. Wat is de waarde van k nadat het is uitgevoerd?
  2. De volgende functie isLeap geeft true terug als het jaar y een schrikkeljaar is. and wordt vóór or geëvalueerd. Voor welke y geeft isLeap(y) true terug?
  3. ÷ staat voor deling; bij toekenning aan een variabele van het type integer (ook een argument) worden de cijfers achter de komma weggelaten. Hoe vaak wordt pow aangeroepen, de eerste aanroep meegerekend, als de volgende functie pow wordt aangeroepen als pow(2, 10)?
  4. Wat is de retourwaarde als de volgende functie s wordt aangeroepen als s(7)?
  5. Welke reeks waarden wordt afgedrukt als de volgende procedure p wordt aangeroepen als p(3)?