Vzorec pro výpočet data velikonoc
Moderátor: Moderátoři
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á.
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.
- tomasjedno
- Příspěvky: 5634
- Registrován: 11 říj 2008, 02:00
- Bydliště: ZZ9 Plural Z Alpha
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 rokyBrozicek 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í...
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.")
- tomasjedno
- Příspěvky: 5634
- Registrován: 11 říj 2008, 02:00
- Bydliště: ZZ9 Plural Z Alpha
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.
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.
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....".tomasjedno píše: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 rokyBrozicek 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í...
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.")
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).
- tomasjedno
- Příspěvky: 5634
- Registrován: 11 říj 2008, 02:00
- Bydliště: ZZ9 Plural Z Alpha
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ář.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....".
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
![Very Happy :D](./images/smilies/icon_biggrin.gif)
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ů.
- tomasjedno
- Příspěvky: 5634
- Registrován: 11 říj 2008, 02:00
- Bydliště: ZZ9 Plural Z Alpha
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"
.
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.
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"
![Very Happy :D](./images/smilies/icon_biggrin.gif)
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.
Předpokládám že tam vypadlo slovo "výhodu"?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".
![Wink :wink:](./images/smilies/icon_wink.gif)
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.
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???
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ů.)
(Nemusí mít platnou revizi.)
(Celkově budu raději, když se to obejde bez papírů.)
- tomasjedno
- Příspěvky: 5634
- Registrován: 11 říj 2008, 02:00
- Bydliště: ZZ9 Plural Z Alpha
Oktoberfest 2011: So 17.9.- 3.10.2011Habesan píše:...Chápete někdo, proč se dožínky jmenují októbrfest, když říjen je o dva měsíce později???
Oktoberfest 2012: So 22.9.- 7.10.2012
http://www.oktoberfest.de
Ještě nějaký dotaz?
![Very Happy :D](./images/smilies/icon_biggrin.gif)