Grundlagen der Programmierung (Pseudocode nachverfolgen)

Die folgende Funktion isLeap gibt true zurück, wenn das Jahr y ein Schaltjahr ist. and wird vor or ausgewertet. Für welches y gibt isLeap(y) true zurück?

○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
Antwort und Erläuterung anzeigen

Antwort: C. 2000

Weil and Vorrang vor or hat, bedeutet die Bedingung (y mod 4 = 0 and y mod 100 ≠ 0) or y mod 400 = 0. Ein Jahr ist ein Schaltjahr, wenn es durch 4, aber nicht durch 100 teilbar ist, oder wenn es durch 400 teilbar ist. 1800 und 1900 sind durch 100, aber nicht durch 400 teilbar und liefern daher false. 2000 ist durch 400 teilbar und liefert true.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Programmierung (Pseudocode nachverfolgen)

  1. ÷ ist die Division; wird das Ergebnis einer ganzzahligen Variablen (auch einem Funktionsargument) zugewiesen, wird der Nachkommaanteil abgeschnitten. Wie oft wird pow einschließlich des ersten Aufrufs aufgerufen, wenn die folgende Funktion pow als pow(2, 10) aufgerufen wird?
  2. Was gibt die folgende Funktion s beim Aufruf s(7) zurück?
  3. Welche Folge von Werten wird ausgegeben, wenn die folgende Prozedur p als p(3) aufgerufen wird?
  4. Was gibt die folgende Funktion fib beim Aufruf fib(10) zurück?
  5. Wie oft wird c einschließlich des ersten Aufrufs aufgerufen, wenn die folgende Funktion c als c(4, 2) aufgerufen wird?