Pääsiäissunnuntain laskukaavat

Anonyymi-ap

Alla on kaksikin erilaista pääsiäissunnuntain laskukaavaa.

Ensimmäinen on laadittu Helsingin yliopiston kalenteritoimiston "rakennamme kalenterin" -artikkelissa olleiden tietojen pohjalta.

Jälkimmäistä käyttää katolinen kirkko.

Molemmat algoritmit ovat sellaisenaan käännettävissä tietokoneohjelman osaksi Delphillä, toiminevat sellaisenaan tai hyvin vähäisin muutoksin myös FreePascalissa ( https://www.freepascal.org/ ).

Mutta:
Onko tietoa: tuottavatko molemmat algoritmit AINA saman lopputuloksen?

Yleistä tietoa algoritmeistä, pääsiäisen sijainnista kalenterissa ja algoritmien käyttöalueesta (=minä vuonna algoritmi on pätevä):

Algoritmi on pätevä vuonna 1583 ja kaikkina sen jälkeisinä vuosina.
Tuo vuosiluku ilmeisesti liittyy gregoriaanisen kalenterin käyttöönottoon, ja siksi algoritmi ei välttämättä toimi oikein ennen gregoriaanisen kalenterin käyttöönottoa.

Pääsiäinen toistuu täsmälleen samanlaisena kalenterissa 5700000 vuoden välein.

Tuo 5700000 tulee siitä, että se on pienin yhteinen jaettava näille luvuille:
19, 4000, 37500 ja 400.

Mainittakoon vielä:

Ensimmäisen algoritmin käyttöesimerkki:

var
DT1 : TDateTime;
S : String;

begin
// Laske pääsiäissunnuntai ja tulosta päivämäärä ISO 8601 -standardin mukaan:
DT1 := CalcEasterSunday(2024);
S := FormatDateTime('yyyy-mm-dd', DT1);

// Komentoriviohjelmissa:
{$APPTYPE CONSOLE}
WriteLn('Pääsiäissunnuntai on ', S);

// GUI -ohjelmissa (Memo1 = TMemo -tyyppiä):
Memo1.Lines.Add('Pääsiäissunnuntai on ' + S);
end;

// ja sitten itse algoritmit:

// algoritmi 1:
function CalcEasterSunday(Year:Integer):TDatetime;
var
C,N,K,I,J,L,M,D : Integer;

begin
C := Year DIV 100;

N := Year MOD 19;

K := (C - 17) DIV 25;

I := C - (C DIV 4) - (C - K) DIV 3 + 19 * N + 15;
I := I MOD 30;
I := I - (I DIV 28) * (1 - (I DIV 28) * (29 DIV (I+1)) * ((21 - N) DIV 11));

J := Year + Year DIV 4 +I + 2 - C + C DIV 4;

J := J MOD 7;

L := I - J;
M := 3 + (L + 40) DIV 44;
D := L + 28 - 31 * (M DIV 4);

Result := EncodeDate(Year, M, D);
end;

// algoritmi 2: Tätä käyttää katolinen kirkko:
function CatholicEasterMethod(year:Integer):Integer; // 22..31 = March ; R >= 32: April R-31 (April 1..25)
var
A,B,C,D,E,F,G : Integer; // Aloysius Lilius / Christophorus Clavius algorithm - used by the Catholic church.

begin

A := year MOD 19 + 1;
B := year DIV 100 + 1;
C := (3 * B) DIV 4 - 12;
D := (8 * B + 5) DIV 25 - 5;
E := (year * 5) DIV 4 - 10 - C;
F := ( (11 * A + 20 + D - C) MOD 30 + 30) MOD 30; // (the double MOD prevents F to go below zero for large years)

if (F = 24) or ((F = 25) and (A > 11))
then F := F + 1;

G := 44 - F;

if G < 21
then G := G + 30;

result := G + 7 - (E + G) MOD 7;
end;

Bonuskysymys:
Onko Fortumin ex-toimitusjohtaja Mikael Lilius jotain sukua (mitä?) tuon katolisen kirkon algoritmin laatijalle Aloysius Liliukselle ?

0

368

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000

      Ketjusta on poistettu 4 sääntöjenvastaista viestiä.

      Luetuimmat keskustelut

      1. 20v on otettu kiinni

        Tulipalo oli sytytetty joten murhasiko ex omat lapsensa ja heidän Äidin. Tuskin sitä kukaan ohikulkijakaan sytytti.
        Savonlinna
        136
        9140
      2. Somali ei kätellyt Stubbia Linnan juhlissa

        Miksei somali osaa noudattaa hyviä käytöstapoja. https://www.iltalehti.fi/viihdeuutiset/a/563a3dea-fa3f-41f3-b64f-406d2
        Maailman menoa
        673
        5304
      3. Kuka on menehtynyt?

        https://yle.fi/a/74-20198293 Kuulemani mukaan ryyppyporukka ollut hapualla ja kuolemanenkeli (F.G) eli mies jonka seuras
        Kankaanpää
        26
        3626
      4. Mitä meidän välillä

        Tapahtuu lopulta?
        Ikävä
        47
        2523
      5. IL - Auerin lapsia oli houkuteltu rahalla Annelin puolelle?

        16:12 Outoja väitteitä Sijaisäidin mukaan Auerin lapsia koetettiin houkutella nettipalstoilla muuttamaan kertomuksiaan
        Maailman menoa
        2
        2029
      6. 69
        1835
      7. Savonlinan perhesurma, epäilty mies romani, äiti kantaväestöä

        https://www.is.fi/kotimaa/art-2000011676508.html Savonlinnan seudun romaniyhdistyksestä kerrottiin lauantaina IS:lle, e
        Maailman menoa
        132
        1830
      8. Savonlinnan murhapolttaja romani

        Ainakin IS kertoo. Arvasin heti ettei ole normi valkolainen suomalainen.
        Maailman menoa
        229
        1623
      9. Nainen, ota nyt rauhallisesti

        Älä ota kaiken maailman murheita päällesi. Sulla on tapana ottaa elämä liian vakavasti. Ei aina, mutta joskus menee vähä
        Ikävä
        138
        1407
      10. Ei me taideta

        Pystyä kokonaan olemaan erossa.
        Ikävä
        36
        1203
      Aihe