Diferencia entre revisiones de «Computus»

Contenido eliminado Contenido añadido
Revertidos los cambios de 80.58.205.41 a la última edición de Netito777 usando monobook-suite
Deshecha la edición 30124760 de Vubo (disc.)
Línea 88:
== Implementación del algoritmo ==
 
=== Algoritmo en ASP ===
<source lang="asp">
function obtenerPASCUA(anno)
dim M,N,a,b,c,d,e,mes,dia,k,p,q
 
anno=cint(anno)
 
k=int(anno/100)
p=int((13+(8*k))/25)
q=int(k/4)
 
'Cálculo de las vbles mágicas, para cualquier año
M=(15-p+k-q) mod 30
N=(4+k-q) mod 7
 
'Residuos
a = anno mod 19
b = anno mod 4
c = anno mod 7
d = (19*a + M) mod 30
select @e =( (2*@b)+(4*@c)+(6*@d) +@n N)% mod 7
 
'2 posibles casos
if d+e < 10 then
dia = d+e+22
mes = 03
else
dia = d+e-9
mes = 04
end if
 
'Excepciones
if dia = 26 and mes = 04 then dia = 19
if dia = 25 and mes = 04 and d=28 and e = 6 and a >10 then dia = 18
 
obtenerPASCUA=dateserial(anno,mes,dia)
end function
</source>
 
=== Algoritmo en Java ===
Línea 588 ⟶ 626:
</source>
 
Create proc pascuass
as
 
declare @fecha datetime
declare @di datetime
declare @año int
declare @m int
declare @n int
declare @a int
declare @b int
declare @c int
declare @d int
declare @e int
declare @dia int
 
select @fecha=getdate()
select @año=year(@fecha)
 
if @año>=1583 and @año<=1699
select @m=22
select @n=2
if @año>=1700 and @año<=1799
select @m=23
select @n=3
if @año>=1800 and @año<=1899
select @m=23
select @n=4
if @año>=1900 and @año<=2099
set @m=24
set @n=5
 
select @a=@año%19
select @b=@año%4
select @c=@año%7
select @d=(19*@a+@m) %30
select @e=((2*@b)+(4*@c)+(6*@d)+@n)%7
 
select @dia =22+@e+@d
 
if @dia<=31
print cast(@dia as varchar(2)) + '/03/'+cast(@año as varchar(4))
 
if @dia>31
select @dia=@dia-31
print cast(@dia as varchar(2)) + '/04/'+cast(@año as varchar(4))
return
 
[[Categoría:Semana Santa]]