Calendario perpetuo

7

Click here to load reader

description

Con questo documento vorrei esporre un metodo che avevo imparato qualche anno fa per calcolare, a partire da una qualunque data, il suo corrispondente giorno della settimana.

Transcript of Calendario perpetuo

Page 1: Calendario perpetuo

Scritto da Mauro Bellati – www.bellati.it

Calendario perpetuo mentale D a t e e g i o r n i d e l l a s e t t i m a n a

Page 2: Calendario perpetuo

Calendario perpetuo mentale

Mauro Bellati – www.bellati.it Pagina 2

Con questo documento vorrei esporre un metodo che avevo imparato qualche anno fa per calcolare, a partire da una qualunque data, il suo corrispondente giorno della settimana.

Vorrei precisare che il metodo non è stato né inventato né rielaborato da me. Non riuscendo più a trovare la fonte originale da cui ho appreso il procedimento, ho deciso di mettere tutto per iscritto sia come promemoria per me e sia nel caso qualcuno fosse interessato.

Cercherò di mantenere la spiegazione il più semplice possibile, senza però tralasciare nulla, in modo da consentire a chi vuole capire a fondo il procedimento di farlo senza trovarsi nessun punto oscuro.

Le parti scritte in questo stile saranno delle parti aggiuntive, di contorno, che non saranno necessarie per

l’apprendimento  del  procedimento  vero  e  proprio.

Il principio su cui si basa il procedimento è quello di calcolare lo scostamento rispetto ad una data base, il 1° gennaio 1900, che sappiamo essere stato lunedì. A mente è molto facile dire che il 5 gennaio 1900 è stato venerdì, o che il 1° febbraio 1900 era giovedì, perché siamo abituati a farlo e perché lo scostamento è di pochi giorni; bisogna solamente capire come fare a contare un po’ più avanti, nei mesi o negli anni.

Gli ingredienti che contribuiscono a determinare il risultato del nostro calcolo sono, ovviamente, giorno, mese e anno. La cosa interessante è che possiamo calcolare i tre contributi in maniera separata e fare una semplice addizione finale.

Per poter eseguire il procedimento e semplificare i conti durante i passaggi è necessario capire e utilizzare l’aritmetica  modulare.  Si  tratta  di  quella particolare aritmetica nella quale esistono solo un insieme finito di valori oltre i quali si torna a contare da capo, come quando si contano i minuti, le ore, o giorni della settimana.

Ad   esempio   i   minuti   dell’orologio   si   contano   modulo   60,   ossia   arrivati   a 60 si riparte da zero. 45 minuti + 30 minuti = 15 minuti e si scrive (45 + 30) = 15 mod 60

Per il calendario perpetuo a noi interessa una aritmetica mod 7, poichè ogni 7 giorni la sequenza si ripete identica a se stessa.

Il procedimento si articola nel calcolare tre differenti scostamenti, uno causato dal giorno, uno dal mese e uno  dall’anno.  Al termine del procedimento si troverà un valore compreso tra 0 e 6. Per ricavare il giorno della settimana corrispondente basterà applicare la seguente conversione:

Risultato ottenuto Giorno corrispondente

0 domenica

1 lunedì

2 martedì

3 mercoledì

4 giovedì

5 venerdì

6 sabato Tabella 1 Conversione tra numero e giorno della settimana

Durante tutti i passaggi, e non solo alla fine, sarà sempre possibile, e caldamente consigliato, semplificare per 7, ossia calcolare il valore mod 7, in quanto in vista del calcolo finale ciò è ininfluente, e consente inoltre di mantenere piccoli i numeri facilitando così il calcolo mentale.

Page 3: Calendario perpetuo

Calendario perpetuo mentale

Mauro Bellati – www.bellati.it Pagina 3

Giorno Lo scostamento determinato dal giorno è il più semplice di tutti. Basta semplificare il giorno per 7, ossia calcolare il valore

scostamento giornaliero = giorno mod 7

Data Calcolo Traduzione

24 gennaio 1900 24 mod 7 = (24 – 21) = 3 3 mercoledì

14 gennaio 1900 14 mod 7 = (14 – 14) = 0 0 domenica Tabella 2 Esempi relativi allo scostamento giornaliero

Mese Per quanto riguarda il mese, e necessario memorizzare una speciale conversione che a seconda del mese ci dirà il suo scostamento rispetto al 1° gennaio dello stesso anno.

La tabella da memorizzare è

Gen Feb Mar Apr Mag Giu Lug Ago Set Ott Nov Dic

0 3 3 6 1 4 6 2 5 0 3 5 Tabella 3 Scostamenti mensili

Il significato di questi numeri è lo scostamento del 1° giorno di ciascun mese rispetto al 1° gennaio dello

stesso anno. Ciò è piuttosto semplice da capire osservando la seguente tabella. La prima riga contiene il

numero di giorni per ciascun mese, mentre la seconda contiene lo stesso valore ma semplificato per 7. Se

consideriamo il mese di gennaio ad esempio, il fatto di avere 31 giorni, ossia 7x4 + 3, significa che ci sono

4 settimane intere più 3 giorni che avanzano. Proprio questi 3 giorni determinamo uno slittamento in

avanti del 1° giorno di febbraio rispetto al 1° di gennaio. Considerando invece i 28 giorni di febbraio, ci si

accorge che, a parte gli anni bisestili che verranno trattati in un caso a parte, il calendario di marzo è

sempre coincidente con quello di febbraio. E così via per gli altri mesi.

La terza  riga  rappresenta  appunto  la  somma  di  questi  scarti,  mese  per  mese,  mentre  l’ultima è lo stesso

valore ma mod 7, che corrisponde proprio ai valori presenti nella Tabella 3.

Gen Feb Mar Apr Mag Giu Lug Ago Set Ott Nov Dic

Giorni 31 28 31 30 31 30 31 31 30 31 30 31

Giorni mod 7 3 0 3 2 3 2 3 3 2 3 2 3

Σ  scarti - 3 3 6 8 11 13 16 19 21 24 26

Σ  scarti mod 7 0 3 3 6 1 4 6 2 5 0 3 5

Tabella 4 Scostamenti mensili calcolati come somma degli scarti dei mesi precedenti

Grazie a questa tabella si può dedurre che, ad esempio, il calendario del mese di maggio è sempre 1

giorno avanti rispetto a quello di gennaio, oppure che aprile e luglio hanno sempre lo stesso calendario

(essendo entrami 6 giorni avanti a gennaio).

Per calcolare lo scostamento mensile non bisogna far altro che prendere il numero corrispondente nella Tabella 3.

Mese Calcolo Significato

marzo marzo 3 1° marzo è 3 giorni avanti al 1° gennaio dello stesso anno

ottobre ottobre 0 1° ottobre corrisponde al 1° gennaio dello stesso anno

Page 4: Calendario perpetuo

Calendario perpetuo mentale

Mauro Bellati – www.bellati.it Pagina 4

agosto agosto 2 1° agosto è 2 giorni avanti al 1° gennaio dello stesso anno Tabella 5 Esempi relativi al mese

Anno Il   calcolo  dello   scostamento   relativo  all’anno  è   leggermente  più   lungo  ma  non  necessita  di  memorizzare  

alcuna tabella di  conversione,  com’è  stato  invece  necessario  per  il  caso  del  mese.

Alcuni calcoli di semplificazione, che apparentemente sembrano complicare il procedimento, sono necessari per mantenere i numeri piccoli in modo da facilitarne il calcolo mentale.

Questo procedimento sottointende che la data cada nel 20° secolo, ossia sia compresa tra 1900 e 1999. Successivamente si vedrà come poter spostare il secolo con un ulteriore scarto che però non influenzarà il procedimento qui descritto.

1. Per prima cosa si dovrebbe prendere   le   ultime   due   cifre   dell’anno   e   semplificarle   per   28,   ossia  

calcolare

anno = anno mod 28

in modo da ricondurci sempre ad un numero compreso tra 0 e 28.

Questa semplificazione è resa possibile dal fatto che ogni 28 anni il ciclo dei calendari si ripete in

maniera identica, ed è determinato dal minimo comune multiplo tra 4 e 7.

4 sono il numero di anni compresi tra due anni bisestili, che introducono un ulteriore scostamento di

un giorno ciascuno.

7 sono gli anni entro cui il calendario tornerebbe identico se non ci fossero gli anni bisestili, in

quanto ogni anno introduce un scostamento di un giorno.

Questa proprietà ci assicura che possiamo sempre ricondurci ad affettuare il calcolo su un anno

compreso tra il 1900 e il 1928.

2. Successivamente bisogna calcolare quanti  anni  bisestili  sono  compresi  prima  dell’anno  che  stiamo  

considerando, in quanto ciascun anno bisestile introduce uno scostamento di un giorno che dobbiamo considerare.

numero di anni bisestili = parte_intera_di( anno / 4 )

Anno Divisione Parte intera

24 24 : 4 = 6 6

7 7  :  4  =  1,… 1

19 19  :  4  =  4,… 4 Tabella 6 Esempi di calcolo del numero di anni bisestili

3. A questo punto basta   sommare   l’anno   di   partenza   e   il   numero   di   anni   bisestili (ovviamente semplificando poi per 7)

scostamento annuale = ( anno + bisestili ) mod 7

Data Mod 28 Anni bisestili Subtotale Mod 7

1915 15 mod 28 = 15 15 / 4 = 3 15 + 3 = 18 18 mod 7 = 4

1929 29 mod 28 = 1 1 / 4 = 0 1 + 0 = 1 1 mod 7 = 1

1982 82 mod 28 = 26 26 / 4 = 6 26 + 6 = 32 32 mod 7 = 4 Tabella 7 Esempi di calcolo scostamento relativo all'anno

Page 5: Calendario perpetuo

Calendario perpetuo mentale

Mauro Bellati – www.bellati.it Pagina 5

Mi sembra necessario dire che la semplificazione iniziale mod 28, è solamente consigliata e non

necessaria a fini della correttezza del calcolo. Vediamo un esempio.

Data Mod 28 Anni bisestili Subtotale Mod per 7

1995 95 mod 28 = 11 11 / 4 = 2 11 + 2 = 13 13 mod 7 = 6

-------------------- 95 / 4 = 23 95 + 23 = 118 118 mod 7 = 6 Tabella 8 Esempio senza semplificazione dell'anno

Come si vede il risultato è lo stesso, però è indubbia la facilità di semplficare il prima possibile per

velocizzare e semplificare i calcoli.

Integrazione dei tre valori A questo punto abbiamo tutti e tre gli ingredienti per calcolare il giorno corrisponente ad una data qualsiasi all’interno  del  20°  secolo.

Il numero finale, che verrà convertito in giorno della settimana tramite la Tabella 1, sarà calcolato come la somma dei tre scostamenti calcolati separatamente.

Totale = (scostamento giornaliero + scostamento mensile + scostamento annuale) mod 7

Facciamo qualche esempio.

28 giugno 1914

Giorno28 mod 7 = 0

Mesegiugno 4

Anno( 14 + 3 ) mod 7 = 3

14 mod 28 = 14

bisestili = 3

Totale 0 + 4 + 3 = 7

7 mod 7 = 0 domenica

Page 6: Calendario perpetuo

Calendario perpetuo mentale

Mauro Bellati – www.bellati.it Pagina 6

Data Giorno Mese Anno Totale Risultato

25 apr 1945 25 4 6 45 17

17 + 4 0

4 + 6 + 0 3 mercoledì

22 nov 1963 22 1 3 63 7

7 + 1 1

1 + 3 + 1 5 venerdì

20 lug 1969 20 6 6 69 13

13 + 3 2

6 + 6 + 2 0 domenica

9 nov 1989 9 2 3 89 5

5 + 1 6

2 + 3 + 6 4 giovedì

Tabella 9 Esempi completi di date appartenenti al 20° secolo

Variante per gli anni bisestili Se si sta calcolando un giorno del mese di gennaio o febbraio di un anno bisestile è necessario un piccolo accorgimento. Bisognerà semplicemente sottrarre uno dal totale, in quanto il 29 febbraio non è ancora arrivato e non ha ancora aggiunto il suo contributo.

totale = totale - 1

Data Giorno Mese Anno Bisestile Totale Risultato

03 feb 1960 3 3 60 4

4 + 1 5 Sì

3 + 3 + 5 4

3 – 1 3 mercoledì

9 gen 1912 9 2 0 12 + 3 1 Sì 2 + 0 + 1 3

3 – 1 2 martedì

7 ott 1908 0 0 8 + 2 3 Si, ma non è

gen o feb 3 mercoledì

Tabella 10 Esempi con anni bisestili

22 maggio 1963

Giorno22 mod 7 = 1

Mesemaggio 1

Anno(7 + 1) mod 7 = 1

63 mod 28 = 7

bisestili = 1

Totale 1 + 1 + 1 = 3

3 mercoledì

Page 7: Calendario perpetuo

Calendario perpetuo mentale

Mauro Bellati – www.bellati.it Pagina 7

Cambio di secolo Il procedimento visto finora è in grado di calcolare il giorno della settimana corrisposndente ad una qualunque data appartentente al ventesimo secolo. Con un calcolo aggiuntivo, è possibile estendere il procedimento affinchè siano supportate tutte le date a partire dal 15 ottobre 1582.

Il 15 ottobre 1852 è la data di introduzione del calendario gregoriano, che è il modello utilizzato ancora

oggi. Le date antecedenti al 5 ottobre 1582 non possono essere calolate con questo metodo.

Come  detto  in  precedenza,  l’intero  procedimento  si  basa  sul  calcolo  di  uno  scostamento  relativo  al  primo  

giorno del secolo. Il ventesimo secolo è iniziato di lunedì, per cui non è necessario alcun accorgimento (il 1°

gennaio 1900 si calcola come 1 + 0 + 0 = lunedì)

Per estendere il procedimento anche agli altri secoli, è sufficiente trovare un modo per calcolare il primo

giorno di un secolo a piacere. In  questo  modo  lo  scostamento  all’interno  del  secolo  verrà applicato a quel

giorno base.

Secolo Esempi Numero Bisestile?

4k 1600, 2000, 2400 6 SI

4k + 1 1700, 2100, 2500 4 NO

4k + 2 1400, 1800, 2200 2 NO

4k + 3 1500, 1900, 2300 0 NO Tabella 11 Calcolo sfasamento determinato dal secolo

Con questa tabella è semplice calcolare quale valore utilizzare come scostamento dovuto al secolo. Si noti come il 1900 ha uno scostamemto pari a zero, ed è il motivo per cui non è stato considerato fino a questo momento.

L’ultima   colonna  è   la  più   importante,   in  quanto  è   sempre   fonte  di   errori.  Gli   anni  bisestili   non   sono   solo  

quelli il cui anno è multiplo di 4, ma per gli anni secolari deve essere anche divisibile per 400.

Data Giorno Mese Anno Secolo Bisestile? Totale Risultato

01 gen 2000 1 0 0 6 -1 1 + 6 + -1 6 sabato

01 ott 2000 1 0 0 6 Si, ma non è gen o feb 1 + 6 0 domenica

01 gen 2100 1 0 0 4 No 1 + 4 5 venerdì Tabella 12 Esempi al di fuori del ventesimo secolo