Durante il viaggio in pullman, nonostante il sonno, ho ristudiato il problema dell'agenda: vedi Riusare le agende vecchie.
Gli errori erano molteplici (*1): il primo consisteva nella seguente errata generalizzazione:
“...affinché lo sfalsamento accumulato ogni anno faccia tornare a coincidere le date con i giorni della settimana, basta aspettare 6 anni. Infatti 5 anni normali provocheranno uno sfalsamento di 5 giorni mentre quello bisestile aggiungerà i 2 mancanti....”
È sbagliato perché dipende da quale anno partiamo: se infatti si parte da un anno immediatamente precedente un bisestile, nei 6 anni successivi, ci sono ben 2 anni bisestili!
Il secondo errore riguarda la maniera con cui calcolavo il giorno della settimana iniziale di ogni anno. Cioè nel post avevo scritto il procedimento corretto ma, nella pratica, lo applicavo erroneamente. Come detto ogni anno normale fa slittare di 1 il giorno iniziale dell'anno SUCCESSIVO mentre un bisestile lo fa slittare di 2 giorni. Ecco, invece di applicare questo sfasamento all'anno successivo, io lo applicavo al bisestile stesso.
Es. se il 1997 fosse iniziato di lunedì (tanto per fare un esempio) allora 1998 sarebbe di martedì, il 1999 di mercoledì e il 2000, calcolavo erroneamente, di venerdì, mentre invece inizierebbe di giovedì: è solo il 2001 che inizia con due giorni di sfasamento e cioè di sabato!
In definitiva il procedimento corretto è il seguente. Si stabilisce l'anno iniziale: se cioè è bisestile (B), oppure immediatamente successivo a un bisestile (Dispari 1=D1), o pari ma non bisestile (P) o, infine, immediatamente precedente a un bisestile (Dispari 2 =D2).
Allora, per trovare l'anno successivo in cui un'agenda è utilizzabile, basta fare le seguenti somme:
D1 → +6
P → +11
D2 → +11
B → +28
Per gli anni seguenti bisogna considerare che:
D1 diventa D2
D2 diventa P
P diventa D1
e solo B rimane B.
Esempio: Agenda 1994. Il 1994 è un P quindi per trovare il successivo anno in cui è utilizzabile bisogna aggiungere 11 ottenendo il 2005. Il 2005 è un D1 e quindi bisognerà aggiungere 6 per trovare quando riutilizzare l'agenda (2011 !).
Esempio 2: Agenda del 1998 (quella con le ricette...). 1998 è P quindi sommo 11. Il 2009 è un D1 e quindi basta aggiungere 6: nel 2015 sarà di nuovo utilizzabile.
Esempio 3: Agenda 1971. 1971 è un D2 quindi sommo 11. 1982 è un P quindi sommo 11. 1993 è un D1 quindi sommo 6. 1999 è un D2 quindi sommo 11 e ottengo 2010, etc...
La dimostrazione del procedimento è semplice e lasciata per esercizio ai miei lettori (*2).
Nota (*1): L'origine psicologica di questi errori è interessante: sono troppo sicuro di me e per questo non ho minimamente verificato il procedimento proposto nel post precedente. Ovviamente avrei trovato subito l'errore se l'algoritmo mi fosse stato proposto da un'altra persona (non mi sarei fidato...)! Questa mia caratteristica psicologica è particolarmente evidente nel poker dove spesso ha esiti catastrofici...
Nota (*2): Più che semplice direi noiosa, ma i miei prof all'università facevano così quando non avevano voglia...
alla prima stazione
1 ora fa
Ma, elucubrazioni sul riutilizzo delle agende a parte, quando ci fai vedere qualche foto di Venice?
RispondiEliminaCiao
Quando vuoi!
RispondiEliminaPensa che ho per te un agenda (praticamente) del 2015 da regalarti...
KGB