/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Algoritmo de Pascuas

 
      Índice del Foro elrincondelc.com -> Algoritmos
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
david_celta



Registrado: 02 Jun 2005
Mensajes: 117

MensajePublicado: 19/11/2007 12:36 pm
Título: Algoritmo de Pascuas

Vagando por la web (es un decir) andaba mirando calendarios, específicamente el cálculo de los días festivos (esos que se ponen en color rojo en los calendarios) y bueno como sabrán, hay días que siempre van a estar en rojo (como diciembre 25 o enero 1) pero hay tres días especificamente (jueves santo, viernes santo, domingo de pascua católica ¿o judía?, bueno eso no importa) que se mueven cada año de fecha (como ya se habrá notado).

Esto tiene que ver con una luna llena de primavera y una contabilidad de días (40 según sé, sin contar domingos me parece) mediante lo cual se obtienen los días de Pascua.

Bueno el hecho es que se utiliza un algoritmo para hacer el cálculo, por lo tanto, el algoritmo se podría programar. Ahora bien ¿cuál es el algoritmo?

Básicamente, el algoritmo para calcular la luna llena de primavera que permite calcular las fechas de pascuas, lo de carnavales y miércoles de cenizas que también creo que va incluído. Alguien de por aquí sabe como se realizan esos cálculos más o menos (o exactamente).

¿Sugerencias?
_________________
Rueda y rueda la vida, rueda y rueda el balón... y detras de la esperanza, palpita cada corazón.
Volver arriba
digies



Registrado: 18 Nov 2005
Mensajes: 339
Ubicación: Cono Sur

MensajePublicado: 19/11/2007 2:12 pm
Título:

Cómo Determinar la Fecha de Pascua para un Año dado
Un poco de historia:
El concilio de Nicea (año 365) indicó un método, bastante complicado por cierto, para determinar la fecha en que se festeja la Pascua. Sabido es que esta fiesta se celebra el primer domingo después del plenilunio, que corresponde al día del equinoccio de primavera (Europa), o algunos días más tarde.
Como los que computaron el tiempo fijaron el equinoccio en 21 de Marzo, y el decimocuarto día de luna llena; el domingo de Pascua puede llegar lo más pronto el 22 de Marzo y lo más tarde el 25 de Abril.
Por lo tanto la fecha de Pascua corresponde al primer domingo después de la primera luna llena que sigue al equinoccio de primavera europeo. Esta determinación es pues, el resultado de una convención establecida al margen de los fenómenos astronómicos. Entre los matemáticos que han dado fórmulas que permiten prever el día de Pascua, Gauss encontró una aplicación relativamente fácil. He aquí dicha fórmula:

d+e+22 de Marzo
h= h:día de Pascua
d+e-9 de Abril

d= resto de (19a+24/30) e=resto de (2b+4c+6d+5)/7
a= resto del año propuesto n, por 18
b=resto del año propuesto n, por 4
c=resto del año propuesto n, por 7

24 y 5 son constantes en el calendario Gregoriano para el tiempo que ha de transcurrir hasta el año 2100.
19, 4, y 7 vienen del año 1947 tomado como parámetro.
h<=31 ? h=22+d+e=d+e+22 de Marzo h>31 ? h=(22+d+e)-31=d+e-9 de Abril

Como de la fecha de Pascua, dependen casi todas las fiestas llamadas móviles del año, sabiendo hallar la fecha de aquella, podrá fácilmente determinarse las de todas las demás fiestas.

El Calendario Gregoriano
Aquí no cuentan como bisiestos los años que terminan siglos, excepto cuando caen en decena de siglo. El papa Gregorio XIII lo estableció en 1582, haciendo correr 10 días en el mes de Octubre. Hoy lo usan todas las naciones cristianas, excepto las que siguen el cisma griego.

Año Bisiesto
Un año bisiesto se caracteriza por tener 366 días, en vez de tener 365 días como los años normales.
Un año es bisiesto si es múltiplo de 4 (por ejemplo 1984). Los años múltiplos de 100 no son bisiestos, salvo si ellos son también múltiplos de 400 (2000 es bisiesto, 1800 no lo es).
Ejemplos de años bisiestos: 1600, 1984, 2000, 2400.
Ejemplos de años comunes: 1700, 1800, 1900, 2100.

Con esto ya tienes todas las herramientas para desarrollar un algoritmo que te permita determinar la fecha de Pascua para un año dado. Espero que te sea de utilidad.

Un saludo
Volver arriba
david_celta



Registrado: 02 Jun 2005
Mensajes: 117

MensajePublicado: 19/11/2007 3:48 pm
Título:

Cita:

h= h:día de Pascua

h<=31 ? h=22+d+e=d+e+22 de Marzo h>31 ? h=(22+d+e)-31=d+e-9 de Abril


Gracias, muy interesante, solo una cosa, ¿que significa eso que escribiste, en especial esos cuadraditos despues de h<=31 -supongo que es algun simbolo pero en mi navegador solo veo un cuadrado- ?
_________________
Rueda y rueda la vida, rueda y rueda el balón... y detras de la esperanza, palpita cada corazón.
Volver arriba
digies



Registrado: 18 Nov 2005
Mensajes: 339
Ubicación: Cono Sur

MensajePublicado: 19/11/2007 4:06 pm
Título:

h es menor o igual a 31 (signo cierre de pregunta) h=22+d+e=d+e+22 de Marzo
h es mayor a 31 (signo cierre de pregunta) h=(22+d+e)-31=d+e-9 de Abril.
Es decir, es una expresión condicional.

Si quieres ver el código C de lo explicado, ingresa en la sección Código fuente y busca el programa "Pascua" que acabo de editar.

Un saludo
Volver arriba
david_celta



Registrado: 02 Jun 2005
Mensajes: 117

MensajePublicado: 19/11/2007 5:14 pm
Título:

Jejeje, te me adelantaste con la publicacion Very Happy

(sigo viendo cuadrados, ya me estoy preocupando Confused , sera el explorador)

Gracias por tu aporte a la cultura c/c++ al publicarlo en la sección código fuente. :bien

Por cierto, que tanta validacion que le has puesto...

¿La condicion de año es que este entre 1582 y 2100 o me equivoco?

Otro saludo para usted.

return EXIT_SUCCESS; :pensando

Sugerencia: Deberian haber mas iconos.
_________________
Rueda y rueda la vida, rueda y rueda el balón... y detras de la esperanza, palpita cada corazón.
Volver arriba
digies



Registrado: 18 Nov 2005
Mensajes: 339
Ubicación: Cono Sur

MensajePublicado: 20/11/2007 5:58 am
Título:

Cita:
Jejeje, te me adelantaste con la publicacion Very Happy
Pues ya hace algún tiempo que lo quería publicar pero pensaba que a nadie le iba a interesar, ni siquiera el algoritmo y/o código C, hasta que alguien se interesó por el tema y a buena hora lo publiqué.

Cita:
(sigo viendo cuadrados, ya me estoy preocupando Confused , sera el explorador)
Creo que ya es hora que cambies de navegador. Sugerencia: Firefox Mozilla.

Cita:
Gracias por tu aporte a la cultura c/c++ al publicarlo en la sección código fuente. :bien
De nada, me alegro que te haya servido. Solo quería compartirlo con todos ustedes.

Cita:
Por cierto, que tanta validacion que le has puesto...
Todo lo posible, para que no se produzcan errores de entrada de datos.

Cita:
¿La condicion de año es que este entre 1582 y 2100 o me quivoco?
Eso es justamnete lo que expliqué hacerca del Calendario Gregoriano y demás. Esa técnica es usada con frecuencia en el desarrollo de "Calendarios Perpetuos" profesionales.

Un saludo
Volver arriba
david_celta



Registrado: 02 Jun 2005
Mensajes: 117

MensajePublicado: 20/11/2007 4:41 pm
Título:

Cita:

Todo lo posible, para que no se produzcan errores de entrada de datos


Hmmm, bueno será parte del programa porque con el algoritmo no tiene mucho que ver, pero igual es una buena alternativa aunque se podria disminuir Very Happy ¿o no?

Cita:

Creo que ya es hora que cambies de navegador. Sugerencia: Firefox Mozilla


Pues ahi si no concuerdo, no me gusta mozilla (y no lo digo por la interfaz fea que tiene sino por otras cosas como sus descargas por ejemplo Evil or Very Mad ), ademas tengo opera (que no uso mucho por cierto), sera la costumbre del ie en todo caso, pero conmigo el cambio a mozilla no funciona.

Cita:

Eso es justamnete lo que expliqué hacerca del Calendario Gregoriano y demás


acerca....

(Foros vs Ortografia ¿quien gana?) Respuesta:...............................

- creo que lo publicare como encuesta hmmm - no creo que haya uno solo que no se haya equivocado en la ortografia al publicar un mensaje-

Saludo++
_________________
Rueda y rueda la vida, rueda y rueda el balón... y detras de la esperanza, palpita cada corazón.
Volver arriba
digies



Registrado: 18 Nov 2005
Mensajes: 339
Ubicación: Cono Sur

MensajePublicado: 21/11/2007 7:24 am
Título:

Cita:
Hmmm, bueno será parte del programa porque con el algoritmo no tiene mucho que ver, pero igual es una buena alternativa aunque se podria disminuir Very Happy ¿o no?
Eso de "disminuir" ya depende de cada uno. Lo publiqué así porque era parte de un proyecto que hice ("con todos los chiches" como los acentos y demás) y así lo edité.

Cita:
Pues ahi si no concuerdo, no me gusta mozilla (y no lo digo por la interfaz fea que tiene sino por otras cosas como sus descargas por ejemplo Evil or Very Mad ), ademas tengo opera (que no uso mucho por cierto), sera la costumbre del ie en todo caso, pero conmigo el cambio a mozilla no funciona.
Pues usa el navegador que quieras -y uno que te permita ver todos lo componentes normales de un sitio web- siempre y cuando no sea el IE-7 Wink

Un saludo
Volver arriba
david_celta



Registrado: 02 Jun 2005
Mensajes: 117

MensajePublicado: 21/11/2007 3:24 pm
Título:

digies escribió:

Pues usa el navegador que quieras


Jaja XD, Very Happy

Tranquilo, ya no me meto con el zorrito.
Saludo++
_________________
Rueda y rueda la vida, rueda y rueda el balón... y detras de la esperanza, palpita cada corazón.
Volver arriba
pokora



Registrado: 01 Nov 2007
Mensajes: 11

MensajePublicado: 22/11/2007 8:36 am
Título:

Hablando de exploradores aunque esta en versión beta, el safari me ha gustado mucho. Probadlo a ver si tb os convence.
Volver arriba
      Índice del Foro elrincondelc.com -> Algoritmos
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com