Algoritmo calcolo della pasqua


Oggi è pasqua e quale regalo migliore avrei potuto fare agli amici programmatori se non spiegare un algoritmo con il quale calcolare la tanto misteriosa data bellerina?
Di anno in anno, infatti, la data di questa festività è sempre un mistero ed è difficile conoscere qualcuno che sappia con largo anticipo quale sarà la domenica incriminata. Oggi vi vengo in aiuto e vedremo insieme un vecchio algoritmo che serve ad ovviare a tale mancanza.

Il codice che prenderemo in esame si rifà ad un algoritmo ideato dal matematico,fisico e astronomo Carl Friedrich Gauss. Il listato che presenterò sara uno pseudo-codice così da far in modo che ognuno possa convertirlo con facilità nel proprio linguaggio preferito.

Prima di addentrarci nel vivo della programmazione bisogna fissare i seguenti punti:
  • Con MOD sarà indicata quell’operazione matematica che restituisce il resto di una divisione. Ad esempio 15 MOD 2 = 1 poichè 15:2 = 7 con resto 1;
  • Tutti i valori trattati sono interi;
  • I mesi nei quali è possibile che ricada la data cercata sono Marzo e Aprile;
  • Con Y si indica l’anno di cui si vuole calcolare la data di Pasqua.
Bene!Detto ciò, iniziamo…

Si calcolano prima i tre valori A, B e C nel seguente modo:

A = Y MOD 19
B = Y MOD 4
C = Y MOD 7

Fatto ciò si passa i valori D ed E:

D = (19 * A + M) MOD 30
E = (2 * B + 4* C + 6 * D + N) MOD 7

Come si vede nelle formule scritte sopra, appaiono due valori che non conosciamo: M ed N. Tali valori sono delle semplici costanti intere che devono essere prelevate dal seguente schema in base all’anno Y in questione:

Anni M N
1583-1699 22 2
1700-1799 23 3
1800-1899 23 4
1900-2099 24 5
2100-2199 24 6
2200-2299 25 0
2300-2399 26 1
2400-2499 25 1

Una volta eseguiti i calcoli di D ed E si analizza la loro somma. Se

(D + E)

allora la Pasqua cade il giorno

(D + E + 22)

del mese di Marzo, altrimenti essa cade il giorno

(D + E – 9)

del mese di Aprile.

Vediamo ora il listato completo in pseudo-codice

Nuovo rilascio: Meganalotto 0.2.14


Con sempre maggior piacere scrivo codice per il software principe tra i download dal mio sito: Meganalotto!

Con la sua semplicità, nata da un’idea utile ad una sola persona, sto raggiungendo soglie di soddisfazione personale molto elevate. Vedere il contatore dei download di questo software salire di giorno in giorno mi rende fiero del codice che con diletto scrivo.

Dopo aver rivisto righe su righe e pensato a come migliorare il programma, sono giunto alla stesura e alla pubblicazione di una nuova versione: la 0.2.14

In questa nuova release è possibile usufruire di un nuovo strumento, secondo utilissimo a chi è appassionato di giochi ad estrazioni, ovvero la Smorfia. La novità, infatti, risiede nel fatto che è possibile ricercare mediante parola chiave i numeri da poter inserire poi nelle proprie giocate.
Ho strutturato i file che gestiscono la lista delle voci e i relativi numeri e li ho caricati sul mio sito. Agli utenti intenzionati a portare questa novità sulla propria versione di Meganalotto, basterà:
  • Scaricare la nuova versione dal link che trovare nella colonna a destra;
  • Rimuovere la vecchia versione del programma;
  • Installare quella appena scaricata;
  • Lanciare il programma;
  • Selezionare la voce di menu Strumenti -> Scarica database smorfia
  • Attendere qualche secondo
  • Chiudere il programma e riaprirlo
Ora è possibile ricercare le parole chiave e ottenere i numeri corrispondenti.

Non mi resta che augurarvi buona giocata e ricordate: giocate responsabilmente e dividete le vincite un pò con me…:-D

Ubuntu bazzica in banca


La diffusione del pinguino pare senza fine. Partito, all’atto della nascita, sui computer, GNU/Linux ha saputo fin da subito come imporsi in molti campi tecnologici e non. Telefoni, elettrodomestici, macchine e televisioni; oggigiorno i sistemi operativi open source possono essere trovati ovunque e questo non può che renderci contenti e sotto sotto indubbiamente orgogliosi.

Pare che la crescente diffusione di tali sistemi sia dovuta ad un’importantissima caratteristica che sicuramente non può passare inosservata: la sicurezza. Essere sicuri in un mondo come internet, al giorno d’oggi, è come camminare nel Bronx con una grande collana d’oro e diamanti e sperare di passare inosservati. I virus, i malware e tutti i surrogati informatici sono dietro ogni porta e alla minima falla sono pronti a far razzia dei nostri dati per spremerci ogni singolo euro dai nostri conti.
Proprio la diffusione della gestione dei conti monetari on-line, ha favorito la nascita di numerossisime tecniche per potessero permettere ad eventuali malfattori di appropiarsi dei nostri dati.

In un contesto come questo, navigare sicuri significa poter eseguire banali operazioni senza la paura di cliccare su un link o di visitare un sito. L’invulnerabilità che GNU/Linux propone è di sicuro un ottimo mezzo per combattere i ladri e i loro mezzi.

DI questo sembra esserti accorta la CNL Bank che si sta facendo promotrice di un’ottima iniziativa. Pare infatti che i clienti di questa banca possessori di un conto on-line ricevano in regalo di Ubuntu da poter usare live per accedere ai propri servizi in totale sicurezza.

Chissà se tale mossa promuoverà l’uso del software libero e sensibilizzerà nuovi utenti alla conversione tanto sospirata da noi fidati figli del free. Speriamo che ciò possa servire così almeno i soldi che le banche ci “rubano” saranno usati finalmente per qualcosa di buono.