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 f wordt aangeroepen als f(9087)?

○integer: f(integer: x)
  integer: s ← 0
  while (x > 0)
    s ← s + x mod 10
    x ← x ÷ 10
  endwhile
  return s
  1. A4
  2. B15
  3. C24
Antwoord en toelichting tonen

Antwoord: C. 24

x mod 10 haalt het eenhedencijfer van x eruit, en x ← x ÷ 10 is een gehele deling, omdat de cijfers achter de komma wegvallen, en verwijdert dat cijfer. mod heeft voorrang boven +, dus s ← s + x mod 10 betekent s ← s + (x mod 10). x wordt achtereenvolgens 9087, 908, 90, 9 en 0, en 7, 8, 0 en 9 worden een voor een bij s opgeteld: 7 + 8 + 0 + 9 = 24. De functie berekent de som van de cijfers.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van programmeren (pseudocode traceren)

  1. ÷ 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)?
  2. 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?
  3. 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?
  4. ÷ 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)?
  5. Wat is de retourwaarde als de volgende functie s wordt aangeroepen als s(7)?