Basis van programmeren (pseudocode traceren)
Wat is de retourwaarde als de volgende functie s wordt aangeroepen als s(7)?
○integer: s(integer: n)
if (n ≦ 0)
return 0
endif
return n + s(n − 2)
- A15
- B16
- C28
Antwoord en toelichting tonen
Antwoord: B. 16
s(7) roept s(5) aan om 7 + s(5) te berekenen, s(5) roept s(3) aan voor 5 + s(3), s(3) roept s(1) aan voor 3 + s(1), en s(1) roept s(−1) aan voor 1 + s(−1); s(−1) geeft 0 terug omdat n ≦ 0. De waarden worden opgeteld terwijl de aanroepen terugkeren, wat s(7) = 7 + 5 + 3 + 1 + 0 = 16 geeft. Dit is de som van de positieve oneven getallen tot en met 7.
Verder: nog 9 vragen over Basis van programmeren (pseudocode traceren)