Am Donnerstag, 10. März 2011 schrieb Pit Zyclade:
> Am 10.03.2011 22:01, schrieb Matthias Müller:
> > Am Sonntag, 6. März 2011 schrieb [email protected]:
> >> Hallo !
> >> iJahr = 2011
> >> iRest = REST(iJahr;4)
> >> zum Berechnen des Schaltjahres.
> >
> > Das ist falsch.
> > Die Rechnung stimmt zwar, aber zB auch für das Jahr 1900, das
> > ist/war aber definitiv kein Schaltjahr, weil 1900 mod 400 als
> > Ergebnis nicht 0 sondern 300 liefert. Ein Jahrhundert ist nur dann
> > ein Schaltjahr wenn "Jahr mod 400 = 0" ist.
> >
> > Sorry für die Klugscch... :-)
>
> Mathias, mäßige Deine Ausdrucksweise.
Hätte ich vielleicht Besserwisserei schreiben sollen ;-)

> Außerdem hast Du einen Rechenfehler, denn gefordert war mod 4 nicht
> mod 400. Sollte Rest(x;4) mod 400 bedeutenm also falsch sein, dann
> kannst Du das erklären. Ich habe es nicht geprüft und auch als Basic
> nicht empfohlen.
Die Aussage oben ist: "Wenn der Rest von Jahr geteilt durch 4 den Wert 0 
hat, ist Jahr ein Schaltjahr." Diese Aussage stimmt nur dann, wenn das 
Jahr kein Jahrhundert ist. Für Jahrhunderte müssen folgende Bedingungen 
erfüllt sein: "Wenn der Rest von Jahr geteilt durch 100 gleich 0 UND 
Jahr geteilt durch 4 gleich 0 ist (also Jahr geteilt durch 400 gleich 
0), dann ist Jahr ein Jahrhundert UND ein Schaltjahr."
Diese Bedingung war für das Jahr 2000 (1600, 1200, 800 und 400) aber 
nicht für zB die Jahre 1900 (1800, 1700, etc) erfüllt. Erst wieder das 
Jahr 2400 wird (als Jahrhundert) ein Schaltjahr sein.

Die Jahre 1500, 1400, 1300 etc waren allerdings auch Schaltjahre, aber 
da hatten die Römer (Stichwort "Julianischer Kalender") eine etwas 
andere Vorstellung vom Schaltjahr. Erst Papst Gregor XIII. hat die 
Schaltjahre richtiger berechnet (berechnen lassen) und hat als 
Konsequenz daraus eine Kalenderreform ("Gregorianischer Kalender") 
veranlasst. Die dann in der Nacht vom 04. auf den 15. Oktober 1582 den 
Kalender berichtigte und 10 Tage ausließ. Die orthodoxen Christen (zB 
in Russland [genauer, dort wo ehemals das oströmische Reich war]) haben 
diese Reform allerdings nicht mit gemacht und deshalb ist die 
Oktoberrevolution eigentlich erst im November gewesen. 

Die Berechnung eines Schaltjahres ist nicht trivial. Die restlose 
Teilbarkeit durch 4 ist eine zwar notwendige, aber nicht hinreichende 
Bedingung.

Die Berechnung oben ist formal korrekt, aber die Aussage ist mindestens 
in Teilen falsch.

Alles klar? :-)
Entschuldigung für die Abschweifung in die Kalendergeschichte. :-), aber 
Kalender sind faszinierend.

-- 
Mit freundlichen Grüßen
Matthias Müller
(Benutzer #439779 im Linux-Counter http://counter.li.org)
PS: Bitte senden Sie als Antwort auf meine E-Mails reine 
Text-Nachrichten!

Attachment: signature.asc
Description: This is a digitally signed message part.

Antwort per Email an