UNIVERSIDAD DE COSTA RICA I CICLO DE 2000 ESCUELA DE CIENCIAS DE LA COMPUTACION E INFORMATICA CI-0202 Principios de Informática LABORATORIO # 3 (Semana del 20 al 24 de marzo) Cálculo del Viernes Santo y del Domingo de Pascua. Haga un programa en C que solicite un año determinado y luego calcule la fecha del Viernes Santo y del Domingo de Pascua. Para ello, hay que hacer una conversión del Año Lunar al Año Solar, pues el Domingo de Pascua de un año se determina como el primer domingo que sigue a la primera luna llena después del equinoccio de primavera del hemisferio norte. O sea, el primer domingo de luna llena que ocurra después del 21 de marzo. El programa en pseudocódigo es el siguiente: (Referencia: Donald E. Knuth, "The Art of Computer Programming". Vol. 1. Addison Wesley, Reading, Mass., 1969). Nota: Este algoritmo sirve para fechas comprendidas entre 1583 (cuando comienza nuestro calendario gregoriano) y el año 100.000. 1. Lea un número correspondiente al año A 2. Calcule G como (A módulo 19) + 1 3. Calcule el siglo C como (la parte entera de (A / 100)) + 1 4. Haga los cálculos siguientes: X igual a (la parte entera de 3C/4) - 12 X es el número de años, tal como 1900, en donde el año bisiesto no se toma en cuenta, para corregir la posición del sol Z igual a (la parte entera de (8C + 5) / 25) - 5 Z es la corrección especial para sincronizar la Pascua con la órbita lunar 5. Encontrar el domingo: Haga D igual a (la parte entera de (5A/4) - X - 10 6. Haga E igual (11G + 20 + Z - X) módulo 30 Si E le da negativo, súmele 30 Si (E = 25 y G es mayor que 11), o si E = 24 entonces incremente E en 1 7. Haga N igual a 44 - E Si N es menor que 21, incremente N en 30 8. Haga N igual N + 7 - ((D + N) módulo 7) 9. Si N es mayor que 31, la fecha del Domingo de Pascua es (N - 31) de abril, en caso contrario la fecha es N de marzo 10. Calcule la fecha del Viernes Santo (dos días antes), y del Jueves Santo (Ojo: Puede ser que el Viernes Santo ocurra en marzo y el Domigo de Pascua en abril). La salida del programa puede ser, en forma interactiva, la siguiente: Escriba un año (escriba 0 para terminar): 2000 El Viernes Santo es el 21 de abril El Jueves Santo es el 20 de abril El Domingo de Pascua es el 23 de abril. Escriba un año (escriba 0 para terminar): ...