Diferència entre les revisions de "Algoritme per a calcular el dia de la semana"
(Pàgina nova, en el contingut: «El '''Computus''' és el càlcul de la data de Pasqua. A principis del sigle IV hi havia en la cristiantat una gran confusió sobre quàn havia de celeb...») |
|||
Llínea 1: | Llínea 1: | ||
− | + | La '''congruència de Zelle''' és un algoritme ideat per [[Julius Christian Johannes Zeller]] per a calcular el dia de la semana de qualsevol data del [[calendari]]. | |
+ | |||
+ | La congruència de *Zeller és un algoritme ideat per *Julius Christian *Johannes *Zeller per a calcular el dia de la semana de qualsevol data del calendari. | ||
+ | |||
+ | == Fòrmula == | ||
+ | |||
+ | Per al [[calendari gregorià]] la congruència de Zeller és | ||
+ | |||
+ | :<*math>h = *left(q + *left*lfloorfrac{(m+1)26}{10}*right*rfloor + K + *left*lfloorfrac{K}{4}*right*rfloor + *left*lfloorfrac{J}{4}*right*rfloor - 2J*right) *mod 7,</*math> | ||
+ | |||
+ | per al [[calendari julià]] és | ||
+ | |||
+ | :<*math>h = *left(q + *left*lfloorfrac{(m+1) 26}{10}*right*rfloor + K + *left*lfloorfrac{K}{4}*right*rfloor + 5 - J*right) *mod 7,</*math> | ||
+ | |||
+ | A on | ||
+ | |||
+ | ''h'' és el dia de la semana (0 = dissabte, 1 = dumenge, 2 = dilluns,...), | ||
+ | |||
+ | ''q'' és el dia del més, ''m'' és el més, | ||
+ | |||
+ | ''J'' és la centuria (és realitat ⌊any / 100⌋) i | ||
+ | |||
+ | ''K'' l'any de la *centuria (any *mod 100). | ||
+ | |||
+ | Giner i febrer es conten com a mesos 13 i 14 de l'any anterior. Observe, que el 2 de giner del 2013, és m=13; any=2012 | ||
+ | |||
+ | És oportú recordar que la funció ''*mod'' és el residu que queda de la divisió de dos números. | ||
+ | |||
+ | En les implementacions informàtiques en les que el mòdul d'un número negatiu és negatiu, la manera més senzilla d'obtindre un resultat entre 0 i 6 és reemplaçar - 2 ''J'' per + 5 ''J'' i - ''J'' per + 6 ''J''. | ||
+ | |||
==Referències== | ==Referències== | ||
− | + | ||
[[Categoria:Calendari]] | [[Categoria:Calendari]] |
Revisió de 21:14 12 jul 2015
La congruència de Zelle és un algoritme ideat per Julius Christian Johannes Zeller per a calcular el dia de la semana de qualsevol data del calendari.
La congruència de *Zeller és un algoritme ideat per *Julius Christian *Johannes *Zeller per a calcular el dia de la semana de qualsevol data del calendari.
Fòrmula
Per al calendari gregorià la congruència de Zeller és
- <*math>h = *left(q + *left*lfloorfrac{(m+1)26}{10}*right*rfloor + K + *left*lfloorfrac{K}{4}*right*rfloor + *left*lfloorfrac{J}{4}*right*rfloor - 2J*right) *mod 7,</*math>
per al calendari julià és
- <*math>h = *left(q + *left*lfloorfrac{(m+1) 26}{10}*right*rfloor + K + *left*lfloorfrac{K}{4}*right*rfloor + 5 - J*right) *mod 7,</*math>
A on
h és el dia de la semana (0 = dissabte, 1 = dumenge, 2 = dilluns,...),
q és el dia del més, m és el més,
J és la centuria (és realitat ⌊any / 100⌋) i
K l'any de la *centuria (any *mod 100).
Giner i febrer es conten com a mesos 13 i 14 de l'any anterior. Observe, que el 2 de giner del 2013, és m=13; any=2012
És oportú recordar que la funció *mod és el residu que queda de la divisió de dos números.
En les implementacions informàtiques en les que el mòdul d'un número negatiu és negatiu, la manera més senzilla d'obtindre un resultat entre 0 i 6 és reemplaçar - 2 J per + 5 J i - J per + 6 J.