Newsgroup: it.comp.lang.javascript
Titolo: Per calcolare la data della Pasqua??

Qualcuno e' cosi gentile da spiegarmi l'algorito per stabilire la data di
Pasqua?
vi prego rispondetemi e' urgente.. se vi e' possibile anche in email ;)
Tnx

Il medodo qui descritto è stato pubblicato da Spencer Jones
nel suo libro General
Astronomy .
A differenza della formula data da Gauss, questo metodo non
ha eccezioni
ed è valido per tutti gli anni nel Calendario Gregoriano,
ossia dal 1583 in poi.
La procedura per determinare la data della Pasqua è la
seguente:
  dividere             per   quoziente   resto
 l'anno x               19         -       a
 l'anno x               100      b        c
 b                         4         d        e
 b+8                     25       f         -
 b-f+1                   3        g         -
 19a+b-d-g+15     30       -         h
 c                         4         i          k
 32+2e+2i-h-k      7        -          l
 a+11h-22l           451    m          -
 h+l-7m+114       31      n          p
Allora ....
n = numero del mese (3=marzo, 4=aprile)
p+1 = giorno del mese in cui cade la domenica di Pasqua
(...omissis...)
Le date estreme della Pasqua sono Marzo 22
(come nel 1818 e nel 2285)
ed Aprile 25 (come nel 1886, nel 1943 e nel 2038)
function PasquaGregoriana (anno)
{
 var a,b,c,p,q,r ;
 a = anno % 19 ; b = anno / 100 ; c = anno % 100 ;
 p = (19 * (a) + b - (b / 4) - ((b - ((b + 8) / 25) + 1) /
3) + 15) % 30 ;
 q = (32 + 2 * ((b % 4) + (c / 4)) - p - (c % 4)) % 7 ;
 r = (p + q - 7 * ((a + 11 * p + 22 * q) / 451) + 114) ;
 return (((r / 31) << 8) | ((r % 31) + 1)) ;
}
Buona Pasqua :-)
--
Bye
Ro<*¿*>berto

 vi prego rispondetemi e' urgente.. se vi e' possibile anche in email ;)
E' la prima domenica che si incontra a partire
dalla prima luna piena dopo il solstizio di primavera (21 marzo).
Claudio

 dalla prima luna piena dopo il solstizio di primavera (21 marzo).
E come si fa a determinare quando ci sara' la luna piena? E che giorno
sara'? :-)))
--
ciao
gelty
--
Visita 
http://www.sifor.it
Elimina *toglimi* per le risposte

la funzione JS per la pasqua è questa,
ripetto al linguaggio C o java, in JS ci si deve aggiungere
il parseInt...per non portarsi dietro dei resti nella
divisione!!
Scusa e Ciao..
function PasquaGregoriana (anno)
 {
  var a,b,c,p,q,r ;
  a = parseInt(anno % 19) ; b = parseInt(anno / 100) ; c =
parseInt(anno % 100) ;
  p = parseInt((19 * (a) + b - parseInt(b / 4) -
parseInt((b - parseInt((b + 8) / 25) + 1) / 3) + 15) % 30 );
  q = parseInt((32 + 2 * ((b % 4) + parseInt(c / 4)) - p -
(c % 4)) % 7 );
  r = parseInt(p + q - 7 * parseInt((a + 11 * p + 22 * q) /
451) + 114) ;
  return parseInt((parseInt(r / 31) << 8) | ((r % 31) + 1))
;
 }
 var anno=2285
 var resultPasqua=PasquaGregoriana (anno);
 alert("anno="+ anno +" mese="+(resultPasqua >> 8)+"
giorno="+(resultPasqua  & 0xFF));


 
Ovviamente, usando una applet, fai
GregorianCalendar gc = new GregorianCalendar();
gc.setDay(21);
gc.setMonth(2);
java.util.magic.CrystalSphere cs = new java.util.magic.CrystalSphere();
cs.getFullMoonFrom(gc); // setta gc al giorno di luna piena dopo il 21
marzo
e di là cerchi la prima domenica, che sicuramente sarà quella dopo il
solstizio di primavera. :)
Ciao,
	Stefano

 marzo
ROTFL!
