Zadanie

Kebab si jedného dňa prezeral kalendár a začal si plánovať aktivity na rok 2019. Keď už sa prelistoval na jar, naplánoval si návštevu starých rodičov na Veľkú noc. Ako sa tak pozeral na kalendár, uvedomil si, že Veľká noc je každý rok v inom dátume. Vedeli by ste Kebabovi povedať, kedy najskôr a kedy najneskôr môže byť Veľká noc? Nezabudnite aj vysvetlenie, prečo to tak je.

Poznámka: Vzorák počíta s niektorými detailmi, ktoré môže byť celkom ťažké nájsť. Ak ich vo vašom riešení nemáte, ale inak dáva zmysel, môžete očakávať plný počet bodov.

Asi ste už počuli, že dátum Veľkej noci má niečo spoločné s jarnou rovnodennosťou a so splnom. Po krátkom hľadaní viete zistiť, že pravidlo Rímskokatolíckej cirkvi (aj viacerých ďalších) je takéto: Veľkonočná nedeľa je prvá nedeľa nasledujúca po dni prvého splnu, ktorý je v deň jarnej rovnodennosti alebo neskôr. Na základe historických zdrojov cirkev predpokladá, že udalosti Ježišovho ukrižovania a zmŕtvychvstania sa udiali práve v období po jarnej rovnodennosti a okolo času splnu.

Platia tu však nejaké špeciálne spresnenia. Na pripomenutie, jarná alebo jesenná rovnodennosť je deň v cykle obehu Zeme okolo Slnka, keď sú obidve pologule Zeme približne rovnako vzdialené od Slnka. Toto spôsobuje, že v každom mieste planéty deň a noc trvajú približne rovnako dlho - po 12 hodín. V dnešnom Gregoriánskom kalendári môže jarná rovnodennosť pripadnúť na 19., 20., alebo 21. marca. Tento deň sa určuje podľa toho, aký deň bude v Londýnskom časovom pásme, UTC-0 respektíve GTM, presne vtedy, keď budú obidva póly rovnako vzdialené od Slnka. Cirkev však vždy používa 21. 3. miestneho času na výpočet dátumu Veľkej noci, čomu sa hovorí cirkevná rovnodennosť.

Teraz ku splnu. Spln nastáva, keď je Mesiac na druhej strane Zeme od Slnka - teda svetlo zo Slnka, ktoré prechádza okolo Zeme, ale trafí Mesiac, nám ho celý osvetľuje. (A ak sú dostatočne v jednej línii, tak Zem úplne blokuje osvetlenie nejakej časti Mesiaca a vtedy nastáva čiastočné alebo úplné zatmenie Mesiaca). Táto situácia sa teda deje v rovnakom čase pre celú Zem, ale v rôznych zemepisných dĺžkach ju ľudia vidia skôr alebo neskôr, teda niekde môže byť spln v noc iného kalendárneho dňa ako niekde inde.

Preto si cirkev počíta k tomuto účelu svoj vlastný „kalendár“, ktorý je založený na 19-ročnom cykle 235 mesiacov, ktoré majú 29 alebo 30 dní. Tento kalendár sa pomerne presne zhoduje so skutočným obdobím devätnástich rokov a obežná doba mesiaca je okolo 29,3 dňa, teda tieto vymyslené splny sú približne priradené k splnom, ktoré sa skutočne dejú, s odchýlkou maximálne dvoch dní pre ľubovoľné miesto planéty. (Po devätnástich rokoch, keď sa už odchýlka trochu zväčší, sa počká niekoľko dní a cyklus sa znova naštartuje tak, aby bol čo najpresnejšie v zhode so skutočným dianím.) Ešte treba spomenúť, že sa dá ukázať, že tento spln po nejakom čase pripadne na konkrétnu kombináciu dátumu a dňa v týždni. Pre stručnosť vzoráku túto časť vynecháme.

Vyzerá to tak, že už máme všetky potrebné informácie, a môžeme teda vymýšľať riešenie. Určiť dátum najskoršej Veľkej noci je jednoduché, keďže vieme, že „spln“ môže pripadnúť aj na 21.3., pričom tento deň môže byť sobota. Teda nasledujúci deň bude 22.3., Veľkonočná nedeľa. Toto sa naposledy stalo na začiatku 19. stor. a najbližšie sa to stane v roku 2285.

Najneskoršia Veľká noc by mala byť, ak je „spln“ 20.3., teda deň pred cirkevnou rovnodennosťou, a k nasledujúcemu „splnu“ je to 30 dní. Tu by „spln“ vychádzal na 19.4., pričom tento deň by mohla byť nedeľa, aby ďalšia nedeľa, tá Veľkonočná, bola až o 7 dní. To by nám dalo Veľkonočnú Nedeľu na 26.4… Avšak: Keď cirkev v stredoveku zostavovala tento systém, ktorý sa používa doteraz, nechcela, aby Veľká noc mohla byť ešte neskôr ako v systéme, ktorý sa používal dovtedy. Tam bol práve najneskorší možný dátum 25.4. Aj tomuto posunu o jeden deň sa však rozhodli zabrániť, a tak v prípade toho, že by „spln“ vychádzal na 19.4, ho premiestnili na 18.4. Teda analogicky k prvému výpočtu, ak bude „spln“ 18.4. v nedeľu, tak Veľkonočná nedeľa bude 25.4.

Diskusia

Tu môžte voľne diskutovať o riešení, deliť sa o svoje kusy kódu a podobne.

Pre pridávanie komentárov sa musíš prihlásiť.