Moosburg Online: www.moosburg.org tick .. tick ..tick
Jahr 2000 - Mathematik

Rechenduden und das Schaltjahr

Die Gaußsche-Kalenderformel

Welcher Wochentag ist denn der 1. März 2000? - Warum die Formel versagt!

Warum es Probleme mit 2-stelligem Jahrhundert gibt

 
Für Interessierte eine Auszug aus dem Rechenduden:
 
"... Durch die rückläufige Bewegung des Frühlingspunktes in der Ekliptik ist das tropische Jahr etwas kürzer als das siderische Jahr, es hat 365,2422 mittlere Sonntentage. Für unsere bürgerliche Zeitrechnung wurde durch die gregorianische Kalenderreform (1582) die Länge des Jahres auf 365,24525 mittlere Sonnentage festgelegt. Der Ausgleich der Tagesbruchteile erfolgt durch Einschieben von Schalttagen. Schalttage sind solche, deren Jahreszahl durch 4 teilbar ist; z.B. 1956, 1960, 1964. Diese Regel beseitigt den Fehler gegenüber der wahren Länge des tropischen Jahres nicht restlos. Dies wird erst durch die Bestimmung erreicht, daß alle 400 Jahre drei Schaltjahre auszufallen haben, und zwar die Schalttage der Säkularjahre, deren Einheit nicht durch 4 teilbar ist, also die Jahre 1700, 1800, 1900 sind keine Schaltjahre. Das Jahr 2000 ist wieder ein Schaltjahr. Auch mit dieser Schaltregel sind noch nicht alle Abweichungen beseitigt, aber die verbleibenden Fehlerreste wachsen erst in 3333 Jahren auf einen Tag an. ..."

Was heißt denn das?

Das Jahr 2000 ist ausnahmsweise ein Schaltjahr.

 

Ach so! Und weiter?

Die Gaußsche Kalenderformel

Die Kalenderformel liefert die Grundlage zur Ermittlung des Wochentages eines beliebigen Datums in zwei Rechenschritten:

Erster Rechenschritt:

ZE = int(2,6 * Monat - 0,2) + Tag + Jahr + int(Jahr / 4) + int(Jahrhundert / 4) - 2 * Jahrhundert

ZE bedeutet Zwischenergebnis.
Monat ist selbsterklärend, wobei März der erste Monat des aktuellen Jahres ist.
(Januar und Februar zählen also als 11. und 12. Monat im vergangenen Jahr!).
Tag ist selbsterklärend.
Jahr, Jahrhundert sind 2-stellig
(int() ist die Integer-Funktion, die ganze postive Zahl ohne Nachkommastellen wird ermittelt)

Zweiter Rechenschritt: mit Zwischenergebnis den Wochentag berechnen:

ZE mod 7 -> ergibt den Wochentag, wobei Sonntag=0, Montag=1 usw.)

(mod=Modulo-Funktion, d.h. der ganzahlige positive Rest bei Division)

Beispiel: 29.2.2000

Zwischenergebnis berechnen
ZE = int(2,6 * 12 - 0,2) + 29 + 99 + int(99/ 4) + int (19 / 4) - 2 * 19
ZE = 31 + 29 + 99 + 24 + 4 - 38 = 149

Wochentag berechnen
149 mod 7 = 2 (also Dienstag)

Problem 1. März 2000

Am 1. März 2000 liefert die Gaußsche Kalenderformel als Zwischenergebnis zum ersten Mal seit Computer "denken" einen Minuswert von  -32.

Zwischenergebnis berechnen
ZE = int(2,6 * 1 - 0,2) + 1 + 0 + int(0 / 4) + int (20 / 4) - 2 * 20
ZE = 2 + 1 + 0 + 0 + 5 - 40 = -32

In einigen Fällen wurde die Modulo-Funktion nicht korrekt implementiert und liefert in Wirklichkeit den Absolutbetrag vom Divisionsrest. Dadurch wird der Wochentag falsch berechnet:

-32 mod 7 = 4 (->Donnerstag)

Die Modulo-Funktion ist jedoch definiert mit:
a mod b = a - (b * int(a/b))
Zu beachten ist ebenso das die Funktion int() nicht den ganzzahligen Anteil ihres Operanden liefert, sondern die größte Ganze Zahl, die kleiner als der Operand oder gleich dem Operanden ist.
Korrekt sieht die Beispielrechnung also so aus:

-32 mod 7 = -32 - (7 * int(-32/7))
= -32 - (7 * int (-4,57))
= -32 - (7 * -5)
= -32 + 35
= 3
Hier ist das Ergebnis korrekt: der 1.3.2000 ist ein Mittwoch.
Nicht Herr Gauß trägt also Schuld an Problemen mit seiner Kalenderformel, sondern deren Umsetzung auf die heutige Technik ist mitunter fehlerbehaftet.

Problem: Das Programm führt Jahreszahl nur 2-stellig, Jahrhundert wird mit "19" ergänzt:

Wiederum das Beispiel: 29.2.2000

29.2.00, wird ergänzt zu 29.2.1900 - Zwischenergebnis:
ZE = int(2,6 * 12 - 0,2) + 29 + 99 + int(99 / 4) + int (18 / 4) - 2 * 18
ZE = 31 + 29 + 99 + 24 + 4 - 36 = 151

Wochentag berechnen
151 mod 7 = 4 (also Donnerstag)


2000 Startseite

2000 Motivation

Infos zum 3.  Jahrtausend


Bürgernetz Moosburg Online
Zuletzt bearbeitet am 21.12.2004 von © Jörg Schäller und WebTeam Moosburg (E-Mail) - Es gilt das Urheberrecht!