Discusión:Computus

Contenido de la página no disponible en otros idiomas.
De Wikipedia, la enciclopedia libre

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.contribsbloq). Marcos (discusión) 17:59 11 oct 2008 (UTC)[responder]

¿Alguien podría decir quien realizó o descubrió el algoritmo para el cálculo? --Elultimolicantropo (discusión) 23:11 2 dic 2008 (UTC)[responder]

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)[responder]
En completo acuerdo. El articulo no necesota el código que se mueva a Wikibooks. RodrigoMeda (discusión) 07:41 5 abr 2009 (UTC)[responder]

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)[responder]

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:

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)[responder]

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:

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)[responder]

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)[responder]

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)