Basis van programmeren (pseudocode traceren)

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?

○boolean: isLeap(integer: y)
  return y mod 4 = 0 and y mod 100 ≠ 0 or y mod 400 = 0
  1. A1800
  2. B1900
  3. C2000
Antwoord en toelichting tonen

Antwoord: C. 2000

Omdat and voorrang heeft boven or, betekent de voorwaarde (y mod 4 = 0 and y mod 100 ≠ 0) or y mod 400 = 0. Een jaar is een schrikkeljaar als het deelbaar is door 4 maar niet door 100, of als het deelbaar is door 400. 1800 en 1900 zijn deelbaar door 100 maar niet door 400, dus die geven false. 2000 is deelbaar door 400, dus dat geeft true.

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. Hoe vaak wordt pow aangeroepen, de eerste aanroep meegerekend, als de volgende functie pow wordt aangeroepen als pow(2, 10)?
  2. Wat is de retourwaarde als de volgende functie s wordt aangeroepen als s(7)?
  3. Welke reeks waarden wordt afgedrukt als de volgende procedure p wordt aangeroepen als p(3)?
  4. Wat is de retourwaarde als de volgende functie fib wordt aangeroepen als fib(10)?
  5. Hoe vaak wordt c aangeroepen, de eerste aanroep meegerekend, als de volgende functie c wordt aangeroepen als c(4, 2)?