Vzorec pro výpočet data velikonoc

Software potřebné k práci s elektronikou

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
Brozicek
Příspěvky: 1469
Registrován: 07 lis 2005, 01:00
Bydliště: Studénka

#16 Příspěvek od Brozicek »

V příloze je "Generátor kalendáře" pro EXCEL, ve kterém je prakticky využit algoritmus výpočtu data velikonoc. Zde jsou vzorce v modifikované podobě.
Vím že kalendář je v každém mobilu. Tento EXCELovský kalendář, který proti mobilu zvýrazňuje všechny svátky v ČR včetně velikonočního pondělí, může mít pro někoho snad i praktické využití. Pro mne se stal užitečnou pomůckou v práci i soukromí.
Kalendář umožňuje rychlý pohled do minulosti i do budoucnosti. Stačí napsat počáteční datum a nakopírovat řádky nebo sloupce podle délky období, které mne zajímá.
Přílohy
Kalendář.ZIP
Korekce "minus 1 týden" pro roky 1954, 1981, 2049 a 2076 provedena.
(89.76 KiB) Staženo 98 x
Naposledy upravil(a) Brozicek dne 02 dub 2012, 07:54, celkem upraveno 2 x.

Uživatelský avatar
tomasjedno
Příspěvky: 5634
Registrován: 11 říj 2008, 02:00
Bydliště: ZZ9 Plural Z Alpha

#17 Příspěvek od tomasjedno »

Brozicek píše:...Vyšlo mi, že datum velikonoc je větší než 25.4. jen v roce 1981 a 2076. Tak jsem zachránil situaci tím, že v těch dvou rocích odečtu těch 7 dní...
Tím bych si nebyl tak jist. Algoritmus na Wiki, co jsem na něj dával odkaz, hlásí posun Velikonoc na termín o 1 týden dříve pro roky
1954 (neděle 25.4.->18.4.)
1981 (neděle 26.4.->19.4.)
2049 (neděle 25.4.->18.4.)
2076 (neděle 26.4.->19.4.)
(v letech 1943 a 2038 mu Velikonoční neděle 25.4. nevadí - jedná se o aplikaci toho prvního if: "Je-li u = 25, d = 28, e = 6 a a > 10, pak u = 18, v = 4 a Velikonoční neděle připadá na 18. duben.")

Uživatelský avatar
tomasjedno
Příspěvky: 5634
Registrován: 11 říj 2008, 02:00
Bydliště: ZZ9 Plural Z Alpha

#18 Příspěvek od tomasjedno »

BTW, protože Excel si ve skutečnosti ukládá datum jako celé číslo (den č. 1 je 1.1.1900, dneska je pro něj den 40958), není nic jednoduššího, než použít Gaussovu metodu
Velikonoční neděle = 22.3.rrrr + d + e [=DATUM(A4;3;22)+X4+Y4]
kde ty hodnoty d, e jsou definovány v tom Vašem jpg anebo tady: http://cs.wikipedia.org/wiki/V%C3%BDpo% ... _Velikonoc
a provést korekci o týden pro ty roky 1954, 1981, 2049, 2076.

Uživatelský avatar
Brozicek
Příspěvky: 1469
Registrován: 07 lis 2005, 01:00
Bydliště: Studénka

#19 Příspěvek od Brozicek »

tomasjedno píše:
Brozicek píše:...Vyšlo mi, že datum velikonoc je větší než 25.4. jen v roce 1981 a 2076. Tak jsem zachránil situaci tím, že v těch dvou rocích odečtu těch 7 dní...
Tím bych si nebyl tak jist. Algoritmus na Wiki, co jsem na něj dával odkaz, hlásí posun Velikonoc na termín o 1 týden dříve pro roky
1954 (neděle 25.4.->18.4.)
1981 (neděle 26.4.->19.4.)
2049 (neděle 25.4.->18.4.)
2076 (neděle 26.4.->19.4.)
(v letech 1943 a 2038 mu Velikonoční neděle 25.4. nevadí - jedná se o aplikaci toho prvního if: "Je-li u = 25, d = 28, e = 6 a a > 10, pak u = 18, v = 4 a Velikonoční neděle připadá na 18. duben.")
Nevím v čem je mezi algoritmy rozpor. V mém algoritmu JPG je jasně napsáno, že pokud, cituji "připadne datum velikonoc později než na 25. dubna....".
Podle toho by se pak velikonoce dne 25.4.1954 a 25.4.2049 o týden dopředu neposouvaly, protože "později" znamená, že datum 25.4 je ještě platné datum pro velikonoce.
Na tu Gausovu metodu se musím podívat co je to zač. Školu jsem končil už v roce 1969 a už si dávno nepamatuji o co jde. Pokud se moje dlouhé vzorce dají takto jednoduše nahradit, pak celá debata zde měla význam a sám rád tu Gausovu metodu budu ve vzorcích u sebe také aplikovat (i v tom kalendáři, kde je délka mých vzorců na hranici povolené délky).

Uživatelský avatar
tomasjedno
Příspěvky: 5634
Registrován: 11 říj 2008, 02:00
Bydliště: ZZ9 Plural Z Alpha

#20 Příspěvek od tomasjedno »

Brozicek píše:...Nevím v čem je mezi algoritmy rozpor. V mém algoritmu JPG je jasně napsáno, že pokud, cituji "připadne datum velikonoc později než na 25. dubna....".
V tom JPG algoritmu je ta podmínka dost neprecizně formulovaná, stejně jako to "provedeme oba výpočty a vybereme ten, který vyhovuje" nebudí obzvláštní důvěru, jako by to psal novinář.

Oproti tomu ten algoritmus popsaný ve Wiki je výrazně precizněji formulován (dá se mu vytknout jen to, že test "Je-li u = 25, d = 28, e = 6 a a > 10" je zbytečně složitý, protože je-li u=25 a d=28, pak je nutně e=6 a tedy není třeba testovat e).
Tu podmínku "Je-li u = 25, d = 28, e = 6 a a > 10" si těžko vycucali z prstu, a přitom právě tou se oba algoritmy liší; právě ona ošetřuje ty dva posuny z neděle 25.4. na 18.4. v letech 1954 a 2049, a ty dva neposuny v letech 1943 a 2038 (kdy je také datum pondělka >25). A co jsem tak pátral po netu, tak v r. 1954 byly Velikonoce zdá se opravdu 18.4. V pondělí 19.4.1954 nevyšlo Rudé právo, zatímco v pondělí 26.4. ano.
Jak to bude doopravdy v r. 2049 těžko říct - třeba se řeckokatolická a římskokatolická církev dohodnou a budou úplně jindy :D

Uživatelský avatar
Bernard
Příspěvky: 3614
Registrován: 27 kvě 2005, 02:00

#21 Příspěvek od Bernard »

Podle této wiki stránky Computus měl Gauss se svým algoritmem drobné problémy a omezil jeho platnost na 18. a 19. století. Potom tam následuje algoritmus anonymního tvůrce z r. 1876, který snad přetrvává i do dnešních časů. Ten nemá žádná větvení a rozhodování, což se mi líbí. Podle něj jsem udělal ten graf puntíků.

Uživatelský avatar
tomasjedno
Příspěvky: 5634
Registrován: 11 říj 2008, 02:00
Bydliště: ZZ9 Plural Z Alpha

#22 Příspěvek od tomasjedno »

Bernard píše:l Gauss ...omezil jeho platnost na 18. a 19. století...
Problém působí roky 1900 a 2100, které nejsou přestupné.

Uživatelský avatar
Brozicek
Příspěvky: 1469
Registrován: 07 lis 2005, 01:00
Bydliště: Studénka

#23 Příspěvek od Brozicek »

Malá dává, větší bere. Na této stránce
http://kalendar.beda.cz/velikonoce.php
jsou data velikonoční neděle v 1954 a 2049 uváděna také s posunem o 1 týden, takže wikipedie a Tomasjedno vítězí. U sebe si vzorečky zkoriguji i pro tyto dva roky, abych svým potomkům "nezanechal v PC blud" :D.
Tím můžeme diskusi uzavřít. Já se už zcela určitě nepřesvědčím, jak to v roce 2049 bude ve skutečnosti. Mladším přeji, aby se svět do té doby nezřítil díky neschopným vládám do záhuby, nebo aby nepřišel ten konec světa.
Dík za debatu.

Uživatelský avatar
Crifodo
Příspěvky: 14471
Registrován: 11 říj 2005, 02:00

#24 Příspěvek od Crifodo »

Brozicek píše: EXCEL má snad pro výpočet data velikonoc proti Visual Basic nebo Qbasic v tom, že se dají vzorečky dát do nějaké EXCELovské aplikace bez znalosti toho jak tam dostat prográmky v "basicu".
Předpokládám že tam vypadlo slovo "výhodu"? :wink:
Já vím, že je Qbasic nemoderní, ale nemůžu se nezastavit u porovnání velikostí aplikací a nároků, jen excel entní viewer má po nainstalování 80 mega a protože je to jen prohlížeč, nedovoluje měnit údaje v buňkách. Pro ten triviální výpočet je potřeba nainstalovat si "offis" což odhaduju na plné CD a dnes minimálně W XP.
Zatímco ten QB má 300 kB a běží i na 286 bootované z diskety, program zkompilovaný do standalone .exe ve verzi bez potřeby knihoven má 30 kB.
Čili na to, aby člověk naťukal 4 číslice a obdržel 2 číslice a osmiznakový řetězec, se sw nároky upgradovaly asi tak 500x.
Funguje to i v AVR, necelých 1200 bajtů, tedy zadávání i zobrazování pomocí terminálu na UART, když už by teda někdo měl tu úchylnou potřebu mít výpočet velikonoc v jednočipu. Bascom nedovoluje víc než tři parametry ve výrazu, takže rozepisování je trochu nepřehledné.

Kód: Vybrat vše

 $regfile = "ATtiny2313.dat"
                   $crystal = 20000000
                   $baud = 19200
                   Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
                   Dim Rok As Integer
                   Dim Den As Integer
                   Dim X As Integer
                   Dim Y As Integer
                   Print Chr(12)
                   Input "rok:" , Rok
                   X = Rok Mod 19
                   Den = 19 * X : Den = Den + 24
                   Den = Den Mod 30
                   X = Rok Mod 4 : Y = Rok Mod 7
                   X = X * 2 : Y = Y * 4
                   X = X + 5 : X = X + Y
                   Y = 6 * Den : X = X + Y
                   Y = X Mod 7 : X = 22 + Den
                   Den = X + Y


                   If Den < 57 Then Goto Brezen
                   Den = Den - 7


                   Brezen:
                   If Den > 31 Then Goto Duben
                   Print Den ; "/03"
                   End
                   Duben:
                   Den = Den - 31
                   Print Den ; "/04"
                   End
Přílohy
m328PBdef.rar
(16.24 KiB) Staženo 9 x
Naposledy upravil(a) Crifodo dne 28 bře 2023, 06:20, celkem upraveno 1 x.

Uživatelský avatar
Habesan
Příspěvky: 6924
Registrován: 12 led 2009, 01:00
Bydliště: Plzeňsko
Kontaktovat uživatele:

#25 Příspěvek od Habesan »

Beztak je to jen blud a tmářství.
O tom, kdy na mě přijde jaro, přeci nerozhoduje něco tak bezvýznamného, jako jestli je noc kratší než den a měsíční svit vydrží až do rána a v ponědlí se nejde do práce.
Snad měli větší reprodukční výnosy, když do toho ti mladí praštili najednou, ovšem z hlediska nízké dětské úmrtnosti je pro početí vhodnější Srpen, po žních.

Chápete někdo, proč se dožínky jmenují októbrfest, když říjen je o dva měsíce později???
Sháním hasičák s CO2 "sněhový", raději funkční.
(Nemusí mít platnou revizi.)
(Celkově budu raději, když se to obejde bez papírů.)

Uživatelský avatar
popopepe
Příspěvky: 548
Registrován: 26 říj 2005, 02:00

#26 Příspěvek od popopepe »

Habesan píše: Chápete někdo, proč se dožínky jmenují októbrfest, když říjen je o dva měsíce později???
Země, kde zítra již znamená včera?? :lol:

Uživatelský avatar
tomasjedno
Příspěvky: 5634
Registrován: 11 říj 2008, 02:00
Bydliště: ZZ9 Plural Z Alpha

#27 Příspěvek od tomasjedno »

Habesan píše:...Chápete někdo, proč se dožínky jmenují októbrfest, když říjen je o dva měsíce později???
Oktoberfest 2011: So 17.9.- 3.10.2011
Oktoberfest 2012: So 22.9.- 7.10.2012
http://www.oktoberfest.de
Ještě nějaký dotaz? :D

Uživatelský avatar
Brozicek
Příspěvky: 1469
Registrován: 07 lis 2005, 01:00
Bydliště: Studénka

#28 Příspěvek od Brozicek »

tomasjedno píše:...
Ještě nějaký dotaz? :D
Ne dotaz, ale oznámení. Všechny zde uvedené vzorce a soubory jsem upravil tak, aby obsahovaly korekci pro roky 1954, 1981, 2049 a 2076. Tím jsem si zajistil, že zde nešířím "tmářství a bludy" :D .

Odpovědět

Zpět na „Software“