| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
david_celta
Registrado: 02 Jun 2005 Mensajes: 117
| Publicado: 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
| Publicado: 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
| Publicado: 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
| Publicado: 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
| Publicado: 19/11/2007 5:14 pm | | | Título: |
| Jejeje, te me adelantaste con la publicacion 
(sigo viendo cuadrados, ya me estoy preocupando , 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
| Publicado: 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
| Publicado: 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 ¿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 ), 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
| Publicado: 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 
Un saludo |
| | Volver arriba | |  | david_celta
Registrado: 02 Jun 2005 Mensajes: 117
| Publicado: 21/11/2007 3:24 pm | | | Título: |
| | digies escribió: | Pues usa el navegador que quieras
|
Jaja XD, 
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
| Publicado: 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 | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |