Scrivete una classe che calcoli la data della domenica di Pasqua, che è la prima domenica dopo la prima luna piena di primavera. Usate questo algoritmo, ideato dal matematico Carl Friedrich Gauss nel 1800:

1) Sia y l'anno (come 1800 o 2001).

2) Dividi y per 19, ottenendo il resto a. Ignora il quoziente.

3) Dividi y per 100, ottenendo quoziente b e resto c.

4) Dividi b per 4, ottenendo quoziente d e resto e.

5) Dividi 8*b+13 per 25, ottenendo il quoziente g. Ignora il resto.

6) Dividi 19*a+b-d-g+15 per 30, ottenendo il resto h. Ignora il quoziente.

7) Dividi c per 4, ottenendo quoziente j e resto k

8) Dividi a+11*h per 319, ottenendo il quoziente m. Ignora il resto.

9) Dividi 2*e+2*j-k-h+m+32 per 7, ottenendo il resto r. Ignora il quoziente.

10) Dividi h-m+r+90 per 25, ottenendo il quoziente n. Ignora il resto.

11) Dividi h-m+r+n+19 per 32, ottenendo il resto p. Ignora il quoziente.

Pasqua cade il giorno p del mese n. Ad esempio, nel 2008 Pasqua cade il 23 marzo, cioè il giorno 23 del mese 3.

Si scriva una classe Easter con i metodi getEasterSundayMonth e getEasterSundayDay, che consenta di ottenere i valori di mese e giorno in cui cade la Pasqua con l'algoritmo sopra descritti. Si scriva inoltre una opportuna classe di collaudo, che consenta all'utente di inserire l'anno e visualizzi il risultato (numero del giorno e del mese).

Ultime modifiche: mercoledì, 23 dicembre 2015, 12:54