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

251

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000

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

      Luetuimmat keskustelut

      1. Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa

        En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod
        Ikävä
        19
        2118
      2. Nainen, sellaista tässä ajattelin

        Minulla on olo, että täällä on edelleen joku, jolla on jotain käsiteltävää. Hän ei ole päässyt lähtemään vielä vaan jost
        Ikävä
        228
        1684
      3. Seiska: Anne Kukkohovi myy pikkuhousujaan ja antaa penisarvioita

        Melko hupaisaa: https://www.seiska.fi/vain-seiskassa/ex-huippumalli-anne-kukkohovin-amerikan-valloitus-vastatuulessa-myy
        Maailman menoa
        302
        1177
      4. Miten tämä meidän tarina

        Sitten päättyy?
        Ikävä
        65
        929
      5. Kulujen jako parisuhteessa

        Hei, miten teillä jaetaan kulut parisuhteessa? Työttömyyttä ja opiskelua tulee omalla kohdalla jatkumaan vielä jonkin ai
        Parisuhde
        53
        885
      6. En todellakaan halua että

        Tämä päättyy näin
        Ikävä
        39
        824
      7. Missä olit kun tajusit, että teistä tulee joskus pari?

        Kuvaile sitä paikkaa, hetkeä ja tilannetta.
        Ikävä
        53
        805
      8. J miehelle viesti menneisyydestä

        On jo useampi vuosi, kun ollaan oltu näköyhteydessä. Jäi tyhjä olo, koska rakastin. En tietenkään sitä kertonut. Mutta e
        Ikävä
        31
        696
      9. Valitse, kenen kanssa seurustelet

        Seura turmelee, ja huono seura turmelee täysin. Vähän niin kuin valta turmelee, ja absoluuttinen valta turmelee kokonaan
        Hindulaisuus
        273
        663
      10. Paikat tapeltu

        Ei mennyt ihan persujen toiveiden mukaan Ei kait nyt 20 ääntä ja arpajais voitolla voi olla Ähtärin kaupungin puheenjoh
        Ähtäri
        33
        622
      Aihe