Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Calcolo Pasqua

640 views
Skip to first unread message

Gianluigi

unread,
Dec 7, 2009, 4:50:13 AM12/7/09
to
Salve,

il problema ᅵ: calcolare il giorno in cui cade la Pasqua.

Ho sempre risolto il problema con il metodo di Gauss che comporta il
calcolo di alcune variabili da combinare poi tra di loro.
Fin qui tutto bene. Poi ho esaminato il file "calendario_planning" su
riolab (autori Ivano Chiappa e Giovanna Arcadu) e vi ho trovato una
formula apparentemente semplicissima che, mi sembra, non usa il metodo
di Gauss.
Il fatto ᅵ che per quanto cerchi di capirne la logica, proprio non ci
riesco.
Dato in A1 un anno, la formula ᅵ la seguente:
ARROTONDA.DIFETTO(GIORNO(MINUTO(A1/38)/2+56)&"/5/"&$A1;7)-34

Qualcuno mi sa spiegare la logica di questa formula (magari gli autori) ?

Grazie,


Gianluigi

ivano

unread,
Dec 7, 2009, 7:25:43 AM12/7/09
to

"Gianluigi" <fenn...@yahoo.it> ha scritto nel messaggio
news:eER$tKydKH...@TK2MSFTNGP05.phx.gbl...

Ciao,
potrei spiegarti l'espressione excelliana ma non il suo significato che
abbiamo a nostra volta appreso da navigazioni internet.
Dovrei forse rimandarti, a memoria, ad un altro membro nel gruppo Riolab,
tale Enzo S. il propositore di tale soluzione.
...ma forse basta che funzioni....:-) eheh
ivano

Gianluigi

unread,
Dec 7, 2009, 7:33:58 AM12/7/09
to
ivano ha scritto:
Certo, basta che funzioni ... Perᅵ uno confronta questa soluzione con
quella, molto piᅵ complicata, che si basa sul metodo di Gauss e gli
viene un po' di nervoso e, quindi, di voglia di capire...

Gianluigi

Gianluigi

unread,
Dec 7, 2009, 8:15:32 AM12/7/09
to
Gianluigi ha scritto:


Cercando altre cose su Internet ho trovato in questa pagina
http://www.cpearson.com/Excel/Easter.aspx la formula di cui sopra, ma
senza nessuna spiegazione (a parte che funziona solo fino al 2368).
Nella stessa pagina si rimanda all'algoritmo dell'United States Naval
Observatory (http://aa.usno.navy.mil/faq/docs/easter.php) in cui si
danno molte e accurate spiegazioni sulla data della Pasqua, ma senza
nessun riferimento alla formula da cui sono partito.

Boh,

Gianluigi

ivano

unread,
Dec 7, 2009, 2:22:16 PM12/7/09
to

"Gianluigi" <fenn...@yahoo.it> ha scritto nel messaggio

news:eM51c9zd...@TK2MSFTNGP06.phx.gbl...

Ciao,
beh, nemmeno io riesco ad esserti d'aiuto.
Se un giorno riuscirai a scoprire il senso di tale formula, faccelo
sapere...e poi il "funziona solo fino al 2368"...mi pare che basti ed
avanzi; forse per tale data penso saremo un po' tutti lontani dai problemi
inerenti ad excel
:-)
con simpatia
ivano

Bruno Campanini

unread,
Dec 7, 2009, 6:43:12 PM12/7/09
to
"ivano" <chiapp...@hotmail.com> wrote in message
news:6627BD1F-4936-4620...@microsoft.com...

> Ciao,
> beh, nemmeno io riesco ad esserti d'aiuto.
> Se un giorno riuscirai a scoprire il senso di tale formula, faccelo
> sapere...e poi il "funziona solo fino al 2368"...mi pare che basti ed
> avanzi; forse per tale data penso saremo un po' tutti lontani dai problemi
> inerenti ad excel

Se ho ben tradotto la formula che l'OP ha inviato:
=ROUNDDOWN(DAY(MINUTE(W4/38)/2+56)&"/5/"&W4,7)-34

ebbene, essa medesima, sbaglia il calcolo:
Pasqua 2009 17-04-2009 esatto: 12-04-2009
Pasqua 2010 06-04-2010 esatto: 04-04-2010
Pasqua 2000 25-04-2000 esatto: 23-04-2000

Non ho fatto altri controlli: mi son parsi sufficienti.

Oddio, sarᅵ quel fiasco iniziato a messodᅵ?

Bruno

r

unread,
Dec 7, 2009, 6:46:02 PM12/7/09
to
"Gianluigi" ha scritto:

> Salve,
>
> il problema è: calcolare il giorno in cui cade la Pasqua.


>
> Ho sempre risolto il problema con il metodo di Gauss che comporta il
> calcolo di alcune variabili da combinare poi tra di loro.
> Fin qui tutto bene. Poi ho esaminato il file "calendario_planning" su
> riolab (autori Ivano Chiappa e Giovanna Arcadu) e vi ho trovato una
> formula apparentemente semplicissima che, mi sembra, non usa il metodo
> di Gauss.

> Il fatto è che per quanto cerchi di capirne la logica, proprio non ci
> riesco.
> Dato in A1 un anno, la formula è la seguente:


> ARROTONDA.DIFETTO(GIORNO(MINUTO(A1/38)/2+56)&"/5/"&$A1;7)-34
>
> Qualcuno mi sa spiegare la logica di questa formula (magari gli autori) ?
>
> Grazie,
>

sembrerebbe l'algoritmo di OUDIN-TONDERING
saluti
r

--
Come e dove incollare il codice:
http://www.rondebruin.nl/code.htm

Le mie case nel web:
http://excelvba.altervista.org/blog/index.php/Table/Excel-VBA/

http://r-mensa.blogspot.com/

r

unread,
Dec 7, 2009, 6:48:01 PM12/7/09
to
questo per intendersi ...

'ALGORITMO DI OUDIN-TONDERING
Function Pasqua(Anno As Integer) As Date


Dim G As Long 'numero d'oro - 1


Dim I As Long 'numero di giorni dal 21 marzo al plenilunio
'pasquale, corretto però per tener conto delle
'eccezioni che si verificano quando l'epatta è
'uguale a 24 o 25 (e H è uguale a 28 o 29)


Dim J As Long 'giorno della settimana del plenilunio pasquale
'(dove 0 = domenica, 1 = lunedì, ecc.)


Dim H As Long '23 - epatta (aggiungendo 30 se il risultato
'diventa negativo), uguale al numero di giorni
'dal 21 marzo al plenilunio pasquale, prima
'delle correzioni che tengano conto delle
'eccezioni che si verificano quando l'epatta
'è uguale a 24 o 25 (e H è uguale a 28 o 29)


Dim L As Long 'numero di giorni dal 21 marzo alla domenica
'del plenilunio pasquale o precedente il
'plenilunio


Dim C As Long
Dim M As Integer
Dim GG As Integer


G = Anno Mod 19


If Anno < 1583 Then
I = (15 + (19 * G)) Mod 30
J = (Anno + (Anno \ 4) + I) Mod 7
Else
C = Anno \ 100
H = (C - (C \ 4) - (((8 * C) + 13) \ 25) + (19 * G) + 15) Mod 30


I = H - ((H \ 28) * (1 - (29 \ (H + 1))) * ((21 - G) \ 11))


J = (Anno + (Anno \ 4) + I + 2 - C + (C \ 4)) Mod 7
End If


L = I - J


M = 3 + ((L + 40) \ 44)
GG = L + 28 - (31 * (M \ 4))


Pasqua = DateSerial(Anno, M, GG)


End Function

il mod 7 e il mod 30 ricordano la funzione ...
saluti
r

--
Come e dove incollare il codice:
http://www.rondebruin.nl/code.htm

http://r-mensa.blogspot.com/


"Gianluigi" ha scritto:

> Salve,
>
> il problema è: calcolare il giorno in cui cade la Pasqua.


>
> Ho sempre risolto il problema con il metodo di Gauss che comporta il
> calcolo di alcune variabili da combinare poi tra di loro.
> Fin qui tutto bene. Poi ho esaminato il file "calendario_planning" su
> riolab (autori Ivano Chiappa e Giovanna Arcadu) e vi ho trovato una
> formula apparentemente semplicissima che, mi sembra, non usa il metodo
> di Gauss.

> Il fatto è che per quanto cerchi di capirne la logica, proprio non ci
> riesco.
> Dato in A1 un anno, la formula è la seguente:


> ARROTONDA.DIFETTO(GIORNO(MINUTO(A1/38)/2+56)&"/5/"&$A1;7)-34
>
> Qualcuno mi sa spiegare la logica di questa formula (magari gli autori) ?
>
> Grazie,
>
>
> Gianluigi

> .
>

paoloard

unread,
Dec 8, 2009, 5:35:44 AM12/8/09
to

"Bruno Campanini" <B...@gmail.com> ha scritto nel messaggio
news:O6PhNc5d...@TK2MSFTNGP05.phx.gbl...

> "ivano" <chiapp...@hotmail.com> wrote in message
> news:6627BD1F-4936-4620...@microsoft.com...
>
>> Ciao,
>> beh, nemmeno io riesco ad esserti d'aiuto.
>> Se un giorno riuscirai a scoprire il senso di tale formula, faccelo
>> sapere...e poi il "funziona solo fino al 2368"...mi pare che basti ed
>> avanzi; forse per tale data penso saremo un po' tutti lontani dai
>> problemi inerenti ad excel
>
> Se ho ben tradotto la formula che l'OP ha inviato:
> =ROUNDDOWN(DAY(MINUTE(W4/38)/2+56)&"/5/"&W4,7)-34
>
ARROTONDA.DIFETTO(GIORNO(MINUTO(A1/38)/2+56)&"/5/"&$A1;7)-34


> ebbene, essa medesima, sbaglia il calcolo:
> Pasqua 2009 17-04-2009 esatto: 12-04-2009
> Pasqua 2010 06-04-2010 esatto: 04-04-2010
> Pasqua 2000 25-04-2000 esatto: 23-04-2000

deve essere il fiasco (bianco o rosso?) perchᅵ a me la stessa formula in
italiano restituisce risultati esatti.

>
> Non ho fatto altri controlli: mi son parsi sufficienti.
>
> Oddio, sarᅵ quel fiasco iniziato a messodᅵ?
>
> Bruno

Ciao Bruno, io che di prima mattina sono sobrio, solo un tea con pasticcini,
avrei scovato una tua diversa traduzione:

=FLOOR(DATE(C4,5,DAY(MINUTE(C4/38)/2+56)),7)-34

che sembrava funzionare egregiamente, perᅵ io non ho la versione inglese
quindi non posso accertarlo.
Nel marzo dell'anno scorso iniziasti un "dotto" thread sull'argomento:
http://snurl.com/tlxnz.
--
ciao paoloard
http://riolab.org

Bruno Campanini

unread,
Dec 8, 2009, 7:28:57 AM12/8/09
to
"paoloard" <xxp...@alice.it> wrote in message
news:uKjJ1I$dKHA...@TK2MSFTNGP06.phx.gbl...

> deve essere il fiasco (bianco o rosso?) perchᅵ a me la stessa formula in
> italiano restituisce risultati esatti.

> Ciao Bruno, io che di prima mattina sono sobrio, solo un tea con

> pasticcini, avrei scovato una tua diversa traduzione:
>
> =FLOOR(DATE(C4,5,DAY(MINUTE(C4/38)/2+56)),7)-34
>
> che sembrava funzionare egregiamente, perᅵ io non ho la versione inglese
> quindi non posso accertarlo.
> Nel marzo dell'anno scorso iniziasti un "dotto" thread sull'argomento:
> http://snurl.com/tlxnz.

Ok Paolo, con FLOOR funziona perfettamente...

Rosso, rosso... era San Giovese, il santo patrono della Romagna.

Bruno

0 new messages