Algoritmu pa calcular el día de la selmana

L**'algoritmu pa calcular el día de la selmana** tien como finalidá saber el día de la selmana pa una fecha dada mesmo del pasáu que del futuru. De fechu, hai un conxuntu numberosu d'algoritmos pa perfacer esti cálculu, ente ellos ta l'Algoritmu Doomsday, anque toos son variantes pequeñes ente ellos, de tala forma qu'emplegando distintos conxuntos de regles llógrase'l mesmu resultáu. Una aplicación típica d'esti algoritmu ye calcular el día de la selmana en que nació una persona o nel qu'asocedió un eventu especial.

## Entamu

El fundamentu de toa esta familia d'algoritmos pa calcular el día de la selmana ye:
#Numberar los díes de la selmana empezando pel cero hasta'l seis d'esta forma podemos emplegar aritmética módulu 7 p'añader el númberu de díes trescurríos dende l'empiezu d'un periodu.
#Buscar o calcular per aciu d'una regla en qué día de la selmana empezó un sieglu.
#Buscar o calcular en qué día de la selmana empezó un añu dau.
#Buscar o calcular en qué día empieza un mes dau, sabiendo l'añu.

## Conceutos útiles
### Meses correspondientes

El conceutu "meses correspondientes" aplícase a aquellos meses del calendariu qu'empiecen nel mesmu día de la selmana. Por exemplu, setiembre y avientu son correspondientes una y bones el 1 de setiembre cai nel mesmu día de la selmana que'l 1 d'avientu. Los meses son correspondientes si'l númberu de díes ente ellos ye divisible ente 7. Por exemplu febreru correspuende con marzu yá que febreru tien 28 díes, esto ye, un númberu divisible ente 7, y 28 díes son esautamente cuatro selmanes. Los meses correspuenden de la siguiente manera:

**Nun añu común**

*Xineru y ochobre.
*Febreru, marzu y payares.
*Abril y xunetu.
*Setiembre y avientu.
*Mayu, xunu y agostu nun correspuenden con nengún mes.

**Nun añu bisiestu**

*Xineru, abril y xunetu.
*Febreru y agostu.
*Marzu y payares.
*Setiembre y avientu.
*Mayu, xunu y ochobre nun correspuenden con nengún mes.

## Procedimientu
Pa determinar el día de la selmana d'una fecha del calendariu gregorianu, podemos siguir el viniente procedimientu:

# Calcular la cantidá de díes trescurríos hasta la fecha.
# Calcular el módulu al respective de 7.
# El valor llográu va ser el día de la selmana de la fecha.

Esto podemos espresalo de la siguiente manera:

::d = ((A - 1) \cdot 365 + \left ( \frac{A-1}{4} - \frac{3 \cdot \left( \frac{A - 1}{100} + 1 \right )}{4} \right ) + DM + D) \% 7 \,\!

Sicasí, en realidá nun tenemos de calcular el total de díes, sinón namái los módulos al respective de 7. Entós, la nuesa espresión amenórgase asina:

::d = ((A - 1) \% 7 + \left ( \frac{A-1}{4} - \frac{3 \cdot \left( \frac{A - 1}{100} + 1 \right )}{4} \right ) \% 7 + DM \% 7 + D \% 7) \% 7 \,\!

Onde:

*d \,\! = día de la selmana *A \,\!
= Añu *DM
\,\! = Díes trescurríos hasta primero del primer día del mes
*D \,\! = Día *\%
\,\! = Módulu *En
toles divisones consideren namái les cifres enteres.

Amás, tengamos en cuenta que tenemos de conocer el módulu correspondiente a cada "entamu" de mes. Asina, si tamos buscando una fecha de xunetu, el módulu sería:

::x = (31 \% 7 + 28 \% 7 + 31 \% 7 + 30 \% 7 + 31 \% 7 + 30 \% 7) \% 7 \,\!
::x = (3 + 0 + 3 + 2 + 3 + 2) \% 7 \,\!
::x = 6 \,\!

Vamos crear entós una tabla que contenga los módulos acumulaos per mes.

D'últimes el nuesu algoritmu quedaría asina:
::d = ((A - 1) \% 7 + \left ( \frac{A-1}{4} - \frac{3 \cdot \left( \frac{A - 1}{100} + 1 \right)}{4} \right ) \% 7 + M + D \% 7) \% 7 \,\!

Onde:
::M \,\! = Módulu correspondiente al mes.

## Exemplu

Calcular el día de la selmana pal 25 de mayu de 2007:

*A = 2007 \,\!
*M = 1 \,\!
*D = 25 \,\!
::(A - 1) \% 7 = 2006 \% 7 = 4 \,\!
::\left (\frac{A-1}{4} - \left (\frac{ 3 \cdot \left( \frac{A - 1}{100} + 1\right)}{4}\right ) \right ) \% 7 = \left(501 - \left (\frac{63}{4}\right ) \right) \% 7 = 3 \,\!
::D \% 7 = 25 \% 7 = 4 \,\!

::d = (4 + 3 + 1 + 4) \% 7 = 5 \,\!

Si'l 0 correspuende al domingu, entós 5 correspuende a vienres.

## Referencies

## Enllaces esternos