Večný kalendár - Diversant Software

Prejsť na obsah

Večný kalendár

Projekty > 8051 > Podprogramy
Večný kalendár
Program "Večný kalendár" využíva na výpočet jednoduchý algoritmus dňa v týždni alebo Zellerov algoritmus je postup na zistenie od daného dátumu (napr. "28.4.1971"), ktorý je deň v týždni (výstup je "streda"). Na tento účel je možné použiť aj tzv. večný kalendár, čo je tabuľka, z ktorej je možné odčítať, v ktorý deň v týždni dátum pripadá, ale pre počítač je jednoduchšie vypočítať priamo pomocou vhodného algoritmu. Na tento účel možno použiť Zellerov algoritmus, ktorý napísal nemecký matematik z devätnásteho storočia Christian Zeller.
Nižšie je vidno dva tvary výpočtu algoritmu, kde ten druhý je vhodnejší pre počítač.





Zdroje:
  • Zellerova zhoda – Wikipédia
  • Zeller, Christian (1882). "Die Grundaufgaben der Kalenderrechnung auf neue und vereinfachte Weise gelöst". Württembergische Vierteljahrshefte für Landesgeschichte (v nemčine). V: 313–314. Archivované z originálu 11. januára 2015.
  • Zeller, Christian (1883). "Problema duplex Calendarii fundamentale". Bulletin de la Société Mathématique de France (v latinčine). 11: 59–61. Archivované z originálu 11. januára 2015.
  • Zeller, Christian (1885). "Kalender-Formeln". Mathematisch-naturwissenschaftliche Mitteilungen des mathematisch-naturwissenschaftlichen Vereins in Württemberg (v nemčine). 1 (1): 54–58. Archivované z originálu 11. januára 2015.
  • Zeller, Christian (1886). "Kalender-Formeln". Acta Mathematica (v nemčine). 9: 131–136. doi:10.1007/BF02406733.

Prostredie uVision Keil
Ďalšie variácie:

Najmenej tri ďalšie algoritmy zdieľajú celkovú štruktúru Zellerovej kongruencie v jeho type "spoločného zjednodušenia", tiež používajú m ∈ [3, 14] ∩ Z a konštrukciu "modifikovaného roka".

  • Michael Keith publikoval v roku 1990 veľmi krátky kód C pre gregoriánske dátumy. Zložka dĺžky mesiaca (13(m+1)5) sa nahrádza 23m9+4. [2]
  • JR Stockton poskytuje verziu Sunday-is-0 s 13(m2)5+2, nazývajúc ho variáciou Zellera. [2]
  • Claus Tøndering opisuje 31(m2)12 ako náhrada za nedeľu je 0. [3]

Oba výrazy môžu preukázať tak, že postupujú spôsobom, ktorý je v porovnaní s pôvodnou zložkou dĺžky mesiaca v požadovanom rozsahu m o jednu zmenšený, čo má za následok počiatočnú hodnotu 0 pre nedeľu.
Program "Večný kalendár" v jazyku C si môžete stiahnúť kliknutím na nižšie uvedenú ikonu.
Aktualizácia údajov bola vykonaná dňa 28.11.2024.
Logo DSW
Logo DSW
Návrat na obsah