Discusión:Computus
A ver, la constelación de Aries podría coincidir con la primavera en el siglo IV, pero seguro que ya no es así. Los signos del zodiaco fueron cierto tipo de calendario, sin duda útil en su momento, pero no lo suficientemente exacto como para no variar después de varios milenios. Al menos es lo que divulga el Grupo Universitario de astronomía de Valladolid.— El comentario anterior sin firmar es obra de 157.88.59.57 (disc. • contribs • bloq). Marcos (discusión) 17:59 11 oct 2008 (UTC)
¿Alguien podría decir quien realizó o descubrió el algoritmo para el cálculo? --Elultimolicantropo (discusión) 23:11 2 dic 2008 (UTC)
Algoritmos
[editar]Creo que los algoritmos deberían estar en Wikibooks. Además no es enciclopédicamente relevante escribir el algoritmo en tantos los lenguajes de programación; y más fácil que elegir es dejar enlaces al texto en Wikibooks. ¿Qué les parece?
- Estoy de acuerdo. El artículo no necesita el código de siete implementaciones. ☆ Platonides ⊛ ℂoпtẵcтaℛ 22:43 27 mar 2009 (UTC)
- En completo acuerdo. El articulo no necesota el código que se mueva a Wikibooks. RodrigoMeda (discusión) 07:41 5 abr 2009 (UTC)
Pero cual es el origen o por qué se toman esas fechas de referencia? Miguel Angel Rivera
Resultados para verificar
[editar]No podrían para verificar, incluir los resultados, para los próximos 10 años? --Dagofloreswi (discusión) 08:03 23 ene 2010 (UTC)
che te paso lel algoritmo de pascal porque esta mal hecho el que pusiste...
program fechadesemanasanta;
uses crt;
var
anno, a, b, c, d, e, res, F, G: integer;
begin
clrscr;
Textmode(12);
Textcolor(10);
write('Ingrese número de anno entre 1900 y 2099: ');
readln (anno);
a:= anno mod 19;
b:= anno mod 4;
c:= anno mod 7;
d:= (19*a + 24) mod 30;
e:= (2*b + 4*c + 6*d + 5) mod 7;
writeln('Resultado de A es: ', a);
writeln('Resultado de B es: ', b);
writeln('Resultado de C es: ', c);
writeln('Resultado de D es: ', d);
writeln('Resultado de E es: ', e);
res:= d+e;
writeln('Resultado de D+E es: ', res);
readln;
F:= res + 22;
G:= res - 9;
writeln('Resultado de F es: ', F);
writeln('Resultado de G es: ', G);
if res<10 then
begin
gotoxy(15,14);
writeln('La fecha de La Pascua ',anno,' es: ', F , ' de Marzo ', anno);
gotoxy(15,17);
writeln('La fecha del Viernes Santo ',anno,' es: ', F-2 , ' de Marzo ', anno);
readln;
end
else
begin
gotoxy(15,14);
writeln('La fecha de La Pascua ',anno, ' es: ', G , ' de Abril ', anno);
gotoxy(15,17);
writeln('La fecha del Viernes Santo ',anno, ' es: ', G-2 , ' de Abril ', anno);
readln;
end;
if G=2 then
begin
gotoxy(15,19);
writeln('La fecha CORRECTA del Viernes Santo ',anno, ' es: ', 31 , ' de Marzo ', anno);
readln;
end;
if G=1 then
begin
gotoxy(15,19);
writeln('La fecha CORRECTA del Viernes Santo ',anno, ' es: ', 30 , ' de Marzo ', anno);
readln;
end;
if G= 26 then
begin
gotoxy(15,19);
writeln ('La fecha de CORRECTA de la Pascua ',anno, ' es: 19 de Abril');
gotoxy(15,20);
writeln ('La fecha del CORRECTA del Viernes Santo ',anno, ' es: 17 de Abril');
gotoxy(1,22);
writeln ('Ya que la Fecha de Pascua puede variar entre el 22 de Marzo y el 25 de Abril');
readln;
end;
if G=25 then
if d=28 then
if e=6 then
if a>10 then
begin
gotoxy(15,19);
writeln ('La fecha CORRECTA de la Pascua es: 18 de Abril');
gotoxy(15,20);
writeln ('La fecha CORRECTA del Viernes Santo es: 16 de Abril');
gotoxy(15,22);
writeln ('Puesto que los resultados de G:25 con D:28 E:6 y A>10');
gotoxy(15,23);
writeln ('Ignorar esta nota si algún resultado NO concuerda ');
readln;
end;
end.
aca lo tenes papa...
espero q te sirva...
Enlaces externos modificados
[editar]Hola,
Acabo de modificar 1 enlaces externos en Computus. Por favor tomaos un momento para revisar mi edición. Si tenéis alguna pregunta o necesitáis que el bot ignore los enlaces o toda la página en su conjunto, por favor visitad esta simple guía para ver información adicional. He realizado los siguientes cambios:
- Se añadió el archivo https://web.archive.org/web/20140523000409/http://www.festeja.me/viernes/santo a http://www.festeja.me/viernes/santo
Por favor acudid a la guía anteriormente enlazada para más información sobre cómo corregir los errores que el bot pueda cometer.
Saludos.—InternetArchiveBot (Reportar un error) 23:38 9 abr 2019 (UTC)
Enlaces externos modificados
[editar]Hola,
Acabo de modificar 1 enlaces externos en Computus. Por favor tomaos un momento para revisar mi edición. Si tenéis alguna pregunta o necesitáis que el bot ignore los enlaces o toda la página en su conjunto, por favor visitad esta simple guía para ver información adicional. He realizado los siguientes cambios:
- Se añadió el archivo https://web.archive.org/web/20190909095222/http://www.nuestrocalendario.info/ a http://www.nuestrocalendario.info/
Por favor acudid a la guía anteriormente enlazada para más información sobre cómo corregir los errores que el bot pueda cometer.
Saludos.—InternetArchiveBot (Reportar un error) 10:26 3 jun 2020 (UTC)
Implementaciones
[editar]Este código estaba en el artículo, le agregue syntaxhighlight pero luego vi en esta discusión que ya se había acordado no tener código en el artículo, los dejo por acá. --RoboQwezt0x7CB (discusión) 20:44 13 abr 2022 (UTC)
Implementación en C
[editar]Una implementación en el lenguaje de programación C del algoritmo de Gauss es:
/* El resultado esta en el formato AAAAMMDD */
long DomingoPascua(int Anio)
{
/* Algoritmo de Gauss para calcular el Domingo de Pascua */
long domingoPascua = (long)Anio * 10000;
int a, b, c, k, p, q, M, N, d, e;
int dia, mes;
a = Anio % 19;
b = Anio % 4;
c = Anio % 7;
k = Anio / 100;
p = (13 + (8 * k)) / 25;
q = k / 4;
M = (15 - p + k - q) % 30;
N = (4 + k -q) % 7;
d = ((19 * a) + M) % 30;
e = ((2 * b) + (4 * c) + (6 * d) + N) % 7;
if((d + e) < 10) {
mes = 3;
dia = d + e + 22; }
else {
mes = 4;
dia = d + e - 9; }
if(dia == 26 && mes == 4) {
dia = 19; }
if(dia == 25 && mes == 4 && d == 28 && e == 6 && a > 10) {
dia = 18; }
domingoPascua += mes * 100;
domingoPascua += dia;
return domingoPascua;
}
Implementación en Python 3
[editar]Una implementación del algoritmo de Butcher en Python 3, que dado el año Y retorna la fecha del domingo de pascua en un objeto date para manipulación de fechas.
#!/usr/bin/python3
from datetime import date
from math import floor
def domingopascua(Y):
a = Y%19
b = floor( Y / 100) # math.floor() en Python 3 retorna un Integral
c = Y%100
d = floor(b/4)
e = b%4
f = floor((b+8)/25 )
g = floor( (b-f+1) /3 )
h = (19*a + b - d - g + 15)%30
i = floor(c/4)
k = c%4
l = (32 + 2*e + 2*i - h - k)%7
m = floor( (a + 11*h + 22*l) / 451)
n = floor( (h + l - 7*m + 114) / 31 )
o = (h + l - 7*m + 114)%31
dia = o+1
mes = n
dom = date(Y, mes, dia)
return(dom)