Algoritmo Doomsday: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m added Category:Matematica; removed {{uncategorized}} usando HotCat |
Annullata la modifica 144281546 di 79.53.82.18 (discussione) Etichetta: Annulla |
||
(89 versioni intermedie di 59 utenti non mostrate) | |||
Riga 1:
L{{'}}'''algoritmo Doomsday''' è un metodo per calcolare il [[giorno]] della [[settimana]] di una specifica data passata o futura
[[
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 Doomsday sono genericamente diversi l'uno dall'altro.
==Meccanismo==
Riga 11 ⟶ 10:
# Determinare il giorno della settimana del giorno desiderato
L'algoritmo Doomsday si basa su calcoli
Questa tecnica è particolarmente adatta al [[calcolo mentale]], perché se, ad esempio,
==
Il Doomsday
|2023=Martedì
|2024=Giovedì
|2025=Venerdì
|2026=Sabato
|2027=Domenica
|2028=Martedì
|2029=Mercoledì
|2030=Giovedì
}}'''.
{|
|+'''Doomsdays per il calendario Gregoriano'''
|-
!scope="col" style="width:2.5em"|<abbr title="Lunedì">Lun.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Martedì">Mar.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Mercoledì">Mer.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Giovedì">Gio.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Venerdì">Ven.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Sabato">Sab.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Domenica">Dom.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Lunedì">Lun.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Martedì">Mar.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Mercoledì">Mer.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Giovedì">Gio.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Venerdì">Ven.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Sabato">Sab.</abbr>
!scope="col" style="width:2.5em"|<abbr title="Domenica">Dom.</abbr>
|-
|1898||1899||1900||1901||1902||1903|| →||1904||1905||1906||1907|| →||1908||1909
|-
|1910||1911|| →||1912||1913||1914||1915|| →||1916||1917||1918||1919|| →||1920
|-
|1921||1922||1923|| →||1924||1925||1926||1927|| →||1928||1929||1930||1931|| →
|-
|1932||1933||1934||1935|| →||1936||1937||1938||1939|| →||1940||1941||1942||1943
|-
| →||1944||1945||1946||1947|| →||1948||1949||1950||1951|| →||1952||1953||1954
|-
|1955|| →||1956||1957||1958||1959|| →||1960||1961||1962||1963|| →||1964||1965
|-
|1966||1967|| →||1968||1969||1970||1971|| →||1972||1973||1974||1975|| →||1976
|-
|1977||1978||1979|| →||1980||1981||1982||1983|| →||1984||1985||1986||1987|| →
|-
|1988||1989||1990||1991|| →||1992||1993||1994||1995|| →||1996||1997||1998||1999
|-
| →||2000||2001||2002||2003|| →||2004||2005||2006||2007|| →||2008||2009||2010
|-
|2011|| →||2012||2013||2014||2015|| →||2016||2017||2018||2019|| →||2020||2021
|-
|2022||2023|| →||2024||2025||2026||2027|| →||2028||2029||2030||2031|| →||2032
|-
|2033||2034||2035|| →||2036||2037||2038||2039|| →||2040||2041||2042||2043|| →
|-
|2044||2045||2046||2047|| →||2048||2049||2050||2051|| →||2052||2053||2054||2055
|-
| →||2056||2057||2058||2059|| →||2060||2061||2062||2063|| →||2064||2065||2066
|-
|2067|| →||2068||2069||2070||2071|| →||2072||2073||2074||2075|| →||2076||2077
|-
|2078||2079|| →||2080||2081||2082||2083|| →||2084||2085||2086||2087|| →||2088
|-
|2089||2090||2091|| →||2092||2093||2094||2095|| →||2096||2097||2098||2099||2100
|}
==Giorni di facile memorizzazione che cadono sempre nel Doomsday==
L'algoritmo Doomsday è un metodo di calcolo abbastanza veloce se si utilizza, come riferimento, un giorno che corrisponda al Doomsday nello stesso mese della data da identificare. Per facilitare il calcolo, Conway ha identificato una serie di date facili da memorizzare che cadono sempre nello stesso giorno del Doomsday.
Per i mesi pari, ci sono due casi:
* a febbraio, l'ultimo giorno del mese è sempre Doomsday. Inoltre, negli
* in tutti gli altri mesi pari, le date composte dallo stesso numero (4/4, 6/6, 8/8, 10/10 e 12/12) sono sempre Doomsday
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>
{| class="wikitable"
Riga 99 ⟶ 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 per 5;
#
Il risultato di queste operazioni sarà un valore compreso tra 0 (Domenica) e 6 (Sabato) e corrisponderà al giorno base del secolo.
<math>\left[{5}\times{}\left(\left({c-1}\right) \bmod 4\right)+{2}\right]\bmod 7 =\mbox{giorno base del secolo}</math>
<math>\left[{5}\times{\left({20} \bmod 4\right)}+{2}\right]\bmod 7={2}=\mbox{martedì}</math>
===Calcolo rapido del giorno base del secolo===
Per un più rapido calcolo del giorno base del secolo, Conway suggerisce di memorizzare i seguenti quattro secoli:
# Doomsday
# Doomsday
# Doomsday
# Doomsday
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
==Passaggio 2
Per determinare il Doomsday dell'anno è necessario:
Riga 135 ⟶ 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.
:<math>\begin{matrix}\left({\left\lfloor{\frac{y}{12}}\right\rfloor+y \bmod 12+\left\lfloor{\frac{y \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\mbox{giorno base del secolo}=\rm{Doomsday}\end{matrix}</math>
<br>
Ad esempio, il Doomsday dell'anno 1966 è
:<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:
Riga 147 ⟶ 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>
Riga 161 ⟶ 193:
#se ''T'' è dispari, aggiungere 11;
#dividere la somma per 2;
#se il [[
#riportare il valore ottenuto
#
Infine, come nel metodo classico, sommare il valore ottenuto al valore del giorno base del secolo.
Riga 171 ⟶ 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.
#''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ì
==Passaggio 3 Determinare il giorno della settimana del giorno desiderato==
Noto il Doomsday dell'anno in questione, il calcolo del giorno della settimana del giorno desiderato è molto semplice:
#
#sottrarre la
#aggiungere il valore del Doomsday dell'anno
#riportare il risultato ottenuto
Ad esempio, per calcolare in che giorno sia caduto il 13
#il Doomsday più vicino è il 5/9;
#13 - 5 = 8
Riga 189 ⟶ 240:
#9 mod 7 = 2 = martedì
Altro esempio, per calcolare in che giorno sia caduto il 4
#il Doomsday più vicino è il 7/11;
#4 - 7 = -3
#-3 + 1 = -2 (il Doomsday del 2011 era lunedì, quindi il valore corrispondente è 1)
#-2 mod 7 = 5 = venerdì
==Osservazioni==
L'uso del termine Doomsday (in [[Lingua inglese|inglese]]: "[[giorno del giudizio]]", ma anche "perpetuo") è stato criticato da alcuni. Altri invece hanno fatto notare che ''doom'' in inglese ha anche il significato secondario di "predeterminato"; e in effetti il metodo si basa appunto su alcuni giorni "predeterminati".
==Note==
<references/>
== Altri progetti ==
{{interprogetto|commons=Doomsday rule|preposizione=sull'}}
{{Portale|matematica}}
[[Categoria:Algoritmi|Doomsday]]
[[Categoria:Calendari]]
|