Tag der Woche

Kann 13, 2015 Admin Computer 0 6
FONT SIZE:
fontsize_dec
fontsize_inc

Zeller Kongruenz ist ein Algorithmus, der einen bestimmten Tag der Woche berechnet
einem Jahr, Monat und Tag.

Anbieter: EARL DUNOVANT

{
EARL DUNOVANT

> Welches Datum ist, dass Tag für einen bestimmten Monat.

Zeller Kongruenz ist ein Algorithmus, der einen bestimmten Tag der Woche berechnet
einem Jahr, Monat und Tag. Erstellt im Jahr 1887 (!). Jeff Duntemanns Techniken für PC
Ruhm in TP 11/90 bei der Zahl der Dr. Dobbs Journal umgesetzt, mit einem
(115 min links), (H) ELP, Andere? wichtig, weil Flickschusterei MOD-Operator gibt einen TP der Ruhe, anstatt ein
Vero Mathematikmodul. Ich habe das Banner Kludge Alarm ich in meiner
eigenen Code.
}

Funktion CalcDayOfWeek (Jahr, Monat, Tag: Integer): Integer;
Var
Jahrhundert
Inhaber: Integer;
Start
{Erster Test für Fehlerbedingungen auf den Werten der Eingangs:}
wenn (Jahr <0) oder (Monat 12) oder (Tag 31), dann
CalcDayOfWeek: = -1 {return -1 um einen Fehler anzuzeigen}
mehr
{Berechne Kongruenz von Zeller Zeller wie sich selbst}
{in "Acta Mathematica" # 7, 1887 beschrieben Stockhold}
Start
{Zunächst trennen wir das Jahr und die Zahlen Jahrhundert:}
Jahrhundert: Jahr div = 100;
Jahr: Jahr MOD = 100;
{Wir stellen Sie dann den Monat März, so dass es Monat # 3}
{aber, dass der Januar und Februar sind Monate # 13 und # 14}
{* aber * das Vorjahr:}
wenn Monat <3 dann
Start
Inc (Monat 12);
Jahr, wenn> 0
Dezember (Jahr 1) {Das Jahr vor dem Jahr 2000 ist}
} else {1999 20-1 nicht ...
Start
Jahr: = 99;
Dezember (s);
Ende;
Ende;

{Hier ist Samen schwarze Magie Zeller:}
Inhaber: = Tag; {Beginnen Sie mit dem Tag des Monats}
Inhaber: = Halter + (((Monat + 1) * 26) div 10); Der Anstieg} {Calc
Inhaber: = Halter + Jahr; Fügen Sie {Jahr}
Inhaber: = Halter + (Jahr 4 div); {Bereinigt um Schaltjahre}
Inhaber: = Halter + (div Century 4); {Korrigieren Jahren des Jahrhunderts}
Inhaber: = Halter - Jahrhundert - Jahrhundert; {Ich weiß nicht, warum er es tat! }
{*********************** Flickschusterei ALERT! ******************* ********}
Während Halter <0 do {Get up in negative Werte}
Inc (Holder, 7); {} Erste Positive Territory
unter die MOD {...}
Halter: Unterstützung MOD = 7; {Teilen um 7, aber halten Sie}
{ruhen, anstatt l '}
{Quotienten}
{*********************** Flickschusterei ALERT! ******************* ********}
{Hier ist "wrap" Samstag gegen für den letzten Tag:}
Halter if = 0, dann
Inhaber: = 7;

{Zeller gehalten Sonntag = 1 Herkunft; Computer weenies bevorzugen}
{anfangen mit 0, so ist hier eine Fallback des 20. Jahrhunderts:}
Dezember (Eigentümer);

CalcDayOfWeek: = Halter; {Return das Endprodukt! }
Ende;
Ende;

(0)
(0)
Nächster Artikel Wie Kamin Türen einbauen

Kommentare - 0

Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha