Die Webseiten der Fachschaft Informatik am ERG Saalfeld


Schaltjahr

Aus einer Laudatio vom Landeswettbewerb "jugend forscht" in Jena:

    Die Polen haben ihren Kopernikus.
    Die Tschechen haben ihren Tycho Brahe.
    Die Engländer haben ihren Kepler und
    die Deutschen haben ihren Erasmus Reinhold - und sie wissen es nicht!

Jeder weiss bzw. kann nachlesen, dass die Oktoberrevolution am 7. November 1917 stattfand. Warum? - Russland hatte die Kalenderreform 1582 nicht mitgemacht. Bei dieser Reform ging es darum, dass die kirchlichen Feiertage (insbesondere Ostern) bei dem bis dahin gültigen Julianischen Kalender nicht mehr "passten". Dieser Julianische Kalender war auf der Grundlage der Alfonsinischen Tafeln erstellt worden.   2 Mathematiker des Vatikans erhielten den Auftrag, einen neuen Kalender zu erstellen, der die Probleme beseitigte. Auf der Grundlage der Preussischen Tafeln von Erasmus Reinhold wurde der Gregorianische Kalender geschaffen.

Anmerkung: mit den Preussischen Tafeln die Grundlage für den Gregorianischen Kalender bereitzustellen hat m.E. nicht die größte Bedeutung von den Leistungen des Erasmus Reinhold, aber sie allein wäre schon hinreichend, ihn auf das Podest für den bedeutendsten deutschen Astronomen zu heben.
Merke: unsere Schule heißt Erasmus-Reinhold-Gymnasium!
  ;-)

 

Welches Jahr ist denn nun ein Schaltjahr?

Zitat Wikipedia: [...] ist jedes Jahr ein Schaltjahr [...], das durch 4, aber nicht auch durch 100 ohne Rest teilbar ist, mit der Ausnahme, dass ein durch 400 ohne Rest teilbares Jahr wiederum ein Schaltjahr ist (z. B. das Jahr 2000).

"übersetzt" und umgekehrt aufgeschrieben:

    Jahr ist durch 400 teilbar => ist ein Schaltjahr Bsp.: 1600, 2000
    Jahr ist (nur) durch 100 teilbar => ist kein Schaltjahr Bsp.: 1700, 1800, 1900, 2100
    Jahr ist (nur) durch 4 teilbar => ist ein Schaltjahr Bsp.: 1992, 1996, 2004, 2008
    Jahr ist nicht durch 4 teilbar => ist kein Schaltjahr Bsp.: 1997, 2005, 2006, 2007, 2014

 

Programm

jahr = 1993

if jahr % 400 == 0:
  print("Das Jahr ", jahr,"ist ein Schaltjahr")
elif jahr % 100 == 0:
    print("Das Jahr ", jahr,"ist kein Schaltjahr")
elif jahr % 4 == 0:
    print("Das Jahr ", jahr,"ist ein Schaltjahr")
else:
    print("Das Jahr ", jahr,"ist kein Schaltjahr")

 

Der Aufruf, wobei jedesmal die Variable jahr geändert wurde, sah bei mir so aus:

 

Aufgaben

  1. Bringen Sie das Programm zum Laufen und testen Sie es für alle 4 Fälle.
  2. Kommentieren Sie das Programm.
  3. Zeichnen Sie zu diesem Programm ein Struktogramm.
  4. Ergänzen Sie das Programm so, dass bei einem Jahr vor 1582 die Ausgabe "für das Jahr xxxx galt noch nicht der Gregorianische Kalender!" erscheint.
  5. Leiten Sie die Ausgaben in eine Datei um.  Beachten Sie: für das Anhängen verwenden Sie ">>".

 

zurück


© ERG Saalfeld   -   HD. Kirmse + Dustin Wiese     letztes Update 3.08.2022