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

312

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000

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

      Luetuimmat keskustelut

      1. Taisin tehdä virheen

        Kaipaan sua enemmän kuin kuvittelin. Luulin, että helpottuisin, mutta olinkin täysin väärässä. Vieläkö vastaisit minulle
        Ikävä
        57
        3451
      2. Hyvä että lähdit siitä

        Ties mitä oisin keksinyt jos oisit jäänyt siihen, näit varmaan miten katoin sua.... 😘🤭😎💖
        Ikävä
        47
        2816
      3. Koronarokotus sattui oudon paljon nyt sairaanhoitaja Tanja 46 istuu pyörätuolissa

        Pitkä piina piikistä Kun Tanja Vatka käy suihkussa, tuntuu kuin ihoa revittäisiin raastinraudalla irti. Hän on kärsinyt
        Maailman menoa
        148
        2630
      4. Nyt tuntuu siltä, että on pakko päästä puhumaan kanssasi

        Tuntuu että sekoan tämän kaiken takia. Miehelle
        Ikävä
        57
        2321
      5. Olisitko mies valmis?

        Maksamaan naisellesi/vaimollesi/tyttöystävällesi elämisestä syntyvät kulut, ruokailun, vuokran ja muut välttämättömät me
        Ikävä
        357
        2053
      6. Mitä haluat sanoa kaivatullesi?

        Onko ikävä? Milloin näitte viimeksi?
        Ikävä
        156
        1704
      7. Nainen, mulla olisi sulle pari vinkkiä

        Kerro vain ongelmasi niin annan siihen vinkin. :/
        Ikävä
        76
        1495
      8. vieläkin sanoa voin...

        💖💛💖💛💖💛💖💛💖 💛 Beijjjbeh 💛 Kaks vuotta tänään täällä. Miten hitossa jotkut on jaksaneet kymmeniä vuos
        Ikävä
        23
        1338
      9. Nainen onko sulla supervoimmia ?

        Voisitko auttaa miestä mäessä? Tarjota auttavan käden ja jeesata tätä miestä? Tai antaa olla et sä kuitenkaan auta.
        Ikävä
        38
        1293
      10. Miksi mediheli

        Mitä on tapahtunut ku poliiseja ja ambulanssi pyöri aamusta keskustassa
        Kiuruvesi
        24
        1174
      Aihe