Algoritmo Doomsday: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Traduco i giorno della settimana |
Annullata la modifica 144281546 di 79.53.82.18 (discussione) Etichetta: Annulla |
||
(45 versioni intermedie di 35 utenti non mostrate) | |||
Riga 1:
L{{'}}'''algoritmo Doomsday''' è un metodo per calcolare il [[giorno]] della [[settimana]] di una specifica data passata o futura. Ideato dal [[matematico]] [[Inghilterra|inglese]] [[John Horton Conway|John Conway]]<ref>John Horton Conway, "Tomorrow is the Day After Doomsday", Eureka, volume 36, pagine 28-31, Ottobre 1973.</ref><ref>Richard Guy, John Horton Conway, Elwyn Berlekamp
[[File:John H Conway 2005.jpg|thumb|John Conway, ideatore dell'algoritmo Doomsday]]
Tale metodo si basa sul fatto che per ogni [[anno]] esiste un determinato giorno della settimana (il ''Doomsday'') in cui cadono alcune date facili da ricordare (ad esempio, il 4/4, 6/6, 8/8, 10/10, 12/12 e l'ultimo giorno di [[febbraio]], ogni anno, cadono tutti nello stesso giorno della settimana) ed è applicabile sia al [[calendario giuliano]] ([[dopo Cristo]]) che a quello [[calendario gregoriano|gregoriano]], anche se i
==Meccanismo==
Riga 12:
L'algoritmo Doomsday si basa su calcoli [[Aritmetica modulare|modulo 7]], per cui Conway suggerisce di numerare i giorni da 0 (Domenica) a 6 (Sabato) ed abituarsi a pensare (usando i numeri in inglese) ai giorni della settimana come Noneday, Oneday, Twosday, Treblesday, Foursday, Fiveday, and Six-a-day. Questo permette di sfruttare la somiglianza di Oneday con Monday (lunedì), di Twosday con Tuesday (martedì), di Foursday con Thursday (giovedì) e di Fiveday con Friday (venerdì).
Questa tecnica è particolarmente adatta al [[calcolo mentale]], perché se, ad esempio, a inizio 2011 si è effettuato un calcolo e si è stabilito che il Doomsday del 2011 è lunedì, è presumibile che nelle applicazioni successive dell'algoritmo nello stesso anno ci si ricordi ancora del risultato intermedio e si possa quindi partire direttamente dal terzo passo.
==Il Doomsday per alcuni anni recenti==
Il Doomsday per l'anno in corso '''({{CURRENTYEAR}})''' è '''{{#switch:{{CURRENTYEAR}}
|2012=Mercoledì▼
|2013=Giovedì▼
|2015=Sabato▼
|2017=Martedì▼
|2021=Domenica▼
|2023=Martedì
|2024=Giovedì
|2025=Venerdì
}}'''.
Per altri anni recenti:
{|class="wikitable" style="line-height:normal;margin:auto;table-layout:fixed;text-align:center"
Line 89 ⟶ 82:
|2089||2090||2091|| →||2092||2093||2094||2095|| →||2096||2097||2098||2099||2100
|}
==Giorni di facile memorizzazione che cadono sempre nel Doomsday==
Line 101 ⟶ 93:
Per i mesi dispari, invece, esistono delle differenze:
* a gennaio, i Doomsday sono 3 e 31 negli anni solari e 4 negli anni bisestili. In alternativa, ci si può anche agganciare al Doomsday dell'anno precedente ed usare il 2 gennaio come Doomsday (questo secondo metodo risulta particolarmente vantaggioso nei calcoli fatti a fine anno)
* a marzo, a novembre (e negli anni non bisestili anche a febbraio) sono Doomsday tutti i giorni multipli di 7 (7
* in tutti gli altri mesi dispari, sono Doomsday queste date: 9/5, 11/7, 5/9, 7/11. Essendo speculari, è consigliato memorizzarle in coppia (9/5 e 5/9; 11/7 e 7/11)<ref>John Conway ha ideato un trucco mnemonico anche per queste date, tale trucco, però, non è traducibile in italiano ed è quindi utilizzabile solo da chi conosce l'inglese. Infatti, negli [[Stati Uniti d'America|USA]] si usa dire che un lavoro noioso è un lavoro "9 to 5". Inoltre, una famosa catena di negozi statunitense si chiama [[7-Eleven]] (perché sono sempre aperti appunto dalle 7 alle 23) e quindi il trucco mnemonico ideato da Conway è "9-to-5 at 7-11" cioè "Ho un lavoro noioso da 7-Eleven"</ref>
Line 133 ⟶ 125:
|}
===
* Il [[Giorno dell'Indipendenza (Stati Uniti d'America)|giorno dell'indipendenza]] degli [[Stati Uniti d'America]], il 4 luglio, è sempre Doomsday
* Il giorno in cui si festeggia [[Halloween]], il 31 ottobre, è sempre Doomsday
*
* Il 25 aprile, [[Anniversario della liberazione d'Italia|Festa della Liberazione]], è sempre Doomsday
* Il 15 agosto, [[Assunzione di Maria|Assunzione di Maria Vergine]] o [[Ferragosto]], è sempre Doomsday
* 11/4 e 22/8; 13/6 e 26/12 sono doomsday (particolarmente facili da ricordare a coppie perché basta raddoppiare tutte le cifre)
*le seguenti coppie di date sono tutte doomsday e sono facili da ricordare perché basta sommare 1 a tutte le cifre: 14/3 e 25/4, 16/5 e 27/6, 11/7 e 22/8, 18/7 e 29/8, 15/8 e 26/9, negli anni non bisestili si aggiungono anche 10/1 e 21/2, 17/1 e 28/2, in quelli bisestili invece 11/1 e 22/2, 18/1 e 29/2.
*qualunque doomsday cade dall'11 in poi di un mese di 31 giorni la stessa data meno 10 del mese successivo sarà nuovamente doomsday, ad esempio il 14/3 è doomsday e lo è anche il 4/4.
*21/3, 23/5 e 25/7 (la somma delle cifre che compongono il giorno è uguale al numero del mese) sono tutti doomsday
==Passaggio 1
Per determinare il giorno base del secolo, è necessario:
#identificare il secolo ''c'' di cui la data scelta fa parte, aggiungendo 1 alle prime due cifre
#sottrarre 1 da ''c'' e calcolare il resto della divisione per 4;
#moltiplicare
#
Il risultato di queste operazioni sarà un valore compreso tra 0 (Domenica) e 6 (Sabato) e corrisponderà al giorno base del secolo.
<math>\left[\left({5c+\left\lfloor{\frac{c-1}{4}}\right\rfloor}\right) \bmod 7+{4}\right]\bmod 7=\mbox{giorno base del secolo}</math>▼
▲<math>\left[{5}\times{}\left(
Ad esempio, il giorno base per il 21° secolo è martedì, perché:<br>▼
<math>\left[\left({5\times{21}+\left\lfloor{\frac{20}{4}}\right\rfloor}\right) \bmod 7+{4}\right]\bmod 7={2}=\mbox{martedì}</math>▼
▲<math>\left[
===Calcolo rapido del giorno base del secolo===
Line 161 ⟶ 157:
# Doomsday 2100-2199 = 0 = domenica ("Nonesday": nessun giorno ancora in questo secolo)
# Doomsday 2000-2099 = 2 = martedì ("Y2K": acronimo di ''Year 2000'')
# Doomsday 1900-1999 = 3 = mercoledì ("We-in-this-day": il secolo di nascita di Conway
# Doomsday 1800-1899 = 5 = venerdì ("Fivesday": il secolo con le 5 giornate di Milano)
Per tutti gli altri secoli è sufficiente aggiungere (o sottrarre) ripetutamente 4 alle prime due cifre dell'anno fino a riportarsi ad uno dei secoli noti (es. il Doomsday del secolo per l'anno 1587 è mercoledì, perché 15 + 4 = 19).
==Passaggio 2
Per determinare il Doomsday dell'anno è necessario:
Line 172 ⟶ 168:
#dividere ''b'' per 4. Sia ''c'' il quoziente;
#sommare ''a'', ''b'' e ''c''. Sia ''d'' tale somma;
#riportare ''d''
#sommare il valore ottenuto al valore del giorno base del secolo.
Line 178 ⟶ 174:
<br>
Ad esempio, il Doomsday dell'anno 1966 è lunedì, perché:
:<math>\begin{matrix}\left({\left\lfloor{\frac{66}{12}}\right\rfloor+66 \bmod 12+\left\lfloor{\frac{66 \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\mbox{mercoledì} & = & \left(5+6+1\right) \bmod 7+3 & = &
<br>
In alternativa, per determinare ''d'' è anche possibile sommare le ultime due cifre dell'anno (''y'') al [[quoziente]] della divisione tra ''y'' e 4:
Line 184 ⟶ 180:
Ad esempio, applicando questo metodo al calcolo del Doomsday del 1966 si avrà:
:<math>\begin{matrix}\left({66 + \left\lfloor{\frac{66}{4}}\right\rfloor}\right) \bmod 7+\mbox{mercoledì} & = & \left(66+16\right) \bmod 7+3 & = &
===Il metodo "Dispari+11"===
Nel 2010 è stato ideato un metodo più semplice per trovare il Doomsday di un anno. È stato dimostrato<ref>Chamberlain Fong, Michael K. Walters: [
:<math>(y + \lfloor \frac{y}{4} \rfloor) \, \operatorname{mod} \, 7.</math>
Line 197 ⟶ 193:
#se ''T'' è dispari, aggiungere 11;
#dividere la somma per 2;
#se il [[
#riportare il valore ottenuto
#sottrarre da 7 il valore ottenuto.
Line 207 ⟶ 203:
#''T'' = 66 (''T'' è pari, dunque non è necessario aggiungere 11)
#66/2 = 33
#33 + 11 = 44 (il
#44 mod 7 = 2
#7 − 2 = 5
#Doomsday 1966 = 5 + mercoledì = 5 + 3 = lunedì
A tal proposito, conviene far riferimento all'anno più vicino multiplo di 4 e poi addizionare 1, 2, 3 a seconda dell'anno. Inoltre il complemento a 7 del modulo (passaggi 5 e 6) possono essere sintetizzati considerando il multiplo di 7 maggiore al risultato del quoto della divisione.
==Passaggio 3: Determinare il giorno della settimana del giorno desiderato==▼
#''T'' = 1966 = 1964+2;
#64/2 = 32 (64 è pari quindi procedo alla divisione per 2.)
#Il più vicino multiplo di 7 superiore a 32 è 35 quindi il numero cercato è 3 (35-32)
Quindi per l'anno 1966 avremo 3 (numero secolo) + 2 (1966-1964) + 3 (Doomsday 1964) = lunedì.
=== Metodo MAMO con calcolo anni bisestili ===
# Prendere le ultime due cifre dell'anno (chiamiamole ''Y'');
# Calcolare il numero di anni bisestili passati fino a quell’anno (Y/4)=X.
# sommare ''Y e X, sia D tale somma''
# riportare ''D'' [[Aritmetica modulare|modulo 7]];
# sommare il valore ottenuto al valore del giorno base del secolo.
Ad esempio, il Doomsday dell'anno 1966 è lunedì, perché:
[66 + (66/4)] mod 7 + mercoledì = (66+16) mod 7 + 3 = 8 = lunedì
Noto il Doomsday dell'anno in questione, il calcolo del giorno della settimana del giorno desiderato è molto semplice:
#identificare il [[Algoritmo Doomsday#Giorni di facile memorizzazione che cadono sempre nel Doomsday|Doomsday più vicino al giorno scelto]];
#sottrarre la data del
#aggiungere il valore del Doomsday dell'anno
#riportare il risultato ottenuto
Ad esempio, per calcolare in che giorno sia caduto il 13 settembre 2011:
Line 229 ⟶ 244:
#4 - 7 = -3
#-3 + 1 = -2 (il Doomsday del 2011 era lunedì, quindi il valore corrispondente è 1)
#-2 mod 7 = 5 = venerdì
==Osservazioni==
Line 238 ⟶ 253:
== Altri progetti ==
{{interprogetto|commons=Doomsday rule|preposizione=sull'}}
{{Portale|matematica}}
[[Categoria:Algoritmi|Doomsday]]
[[Categoria:Calendari]]
|