Fusi orari (scuola media)


Produrre una mappa che al click risponde con l'orario del proprio fuso

lezione
lezione
Fusi orari (scuola media)
Tipo di risorsa Tipo: lezione
Materia di appartenenza Materia: Informatica per la scuola media 1
Avanzamento Avanzamento: lezione completa al 100%

Un esempio: mappa interattive fusi orari time and date map

Versione di Scratch utilizzata

modifica

La versione di scratch usata in questo progetto è scratch 3.0 online.


Cosa richiede l'esercizio

modifica

Mostrare una mappa della terra intera con i rispettivi fusi orari. A partire dall'ora locale di Roma, Berlino, Europa Centrale, fornire il giorno e l'ora nei diversi fusi orari della terra.

I fusi orari

modifica

La terra gira su se stessa e questo fa trascorrere le ore della giornata. Pensandoci un attimo ci si rende conto che non è possibile che l'orario sia lo stesso in tutte le zone della terra, ad esempio mezzogiorno è il momento in cui il sole è nel punto più alto del cielo cosa che si può verificare solo dalla parte della terra che si rivolge verso il sole, poichè la terra è una sfera rotante. Agli antipodi, dall'altra parte della terra per forza di cose è mezzanotte.

E così, poichè il sole si sposta in cielo di 15° ogni ora, infatti

 

La terra è suddivisa in 24 spicchi, i fusi orari, larghi 15° l'uno, che ovviamente tengono conto dei confini degli stati. Tra due fusi vicini la differenza oraria è di un'ora.

 
Time zones of the World

Ognuno di questi fusi orari, in inglese time zones, ha un orario diverso dovuto alla diversa posizione del sole in cielo. Ad esempio quando in Italia sono le 10 del mattino in Inghilterra sono ancora le 9 e in Russia è già mezzogiorno.

Convenzionalmente, e per motivi storici, il meridiano 0 passa da Greenwich e così il fuso 0.

Mentre nel bel mezzo dell'oceano pacifico c'è la linea del cambiamento di data. Se vado dall'Alaska verso la Kamčatka passo dal sabato alla domenica, il mio calendario va avanti di un giorno, al contrario dalla Kamčatka verso l'Alaska il calendario andrà indietro di un giorno. (Tutto sarà più chiaro una volta costruito il nostro progetto Scratch)

Per calcolare un orario in un determinato luogo della terra che non si trova sul nostro fuso orario, che è il fuso dell'Europa Centrale, si può far riferimento alla mappa.

Ad esempio se in Italia sono le 7.15 del mattino di sabato in Messico è passata la mezzanotte da un quarto d'ora. Infatti l'Italia è sul fuso +1 rispetto a Greenwich mentre il Messico è sul fuso -6, quindi sono 7 fusi di differenza, basta contarli partendo dal Messico.

7.15 - 7 = 0.15

Se andiamo più ad ovest in Alaska sono le 21.15 di domenica sera, infatti se faccio l'operazione tenendo conto che il giorno è di 24 ore e dunque sottraendo ore all'orologio torno al giorno precedente trovo che

7.15 - 10 = 21.15


Ad est invece in Jacuzia, dove sono 9 ora avanti

7.15 + 9 = 16.15

sono le quattro e un quarto di domenica pomeriggio.

C'è da fare attenzione al cambiamento di data, se ad esempio in Italia sono le 2 del mattino di domenica, facendo l'operazione per trovare l'orario dell'Alaska, fuso -9 e tenuto conto di come funzionano le ore.

2-10 = 18

Cioè sono ancora le 6 di sera di sabato.

Al contrario alle 21 di sabato in Italia, corrispondono le

21 + 8 = 5

5 del mattino di domenica mattina sulla costa est della Cina.

Progetto da completare

modifica

Per ottenere un calcolatore automatico di fuso orario possiamo completare il progetto Fuso Orario].

Lo sfondo

modifica

Nel progetto Fuso Orario è già presente lo sfondo che mostra i fusi orari terrestri. L'immagine che mostra i fusi orari usata nel paragrafo qui sopra è disponibile su Wikimedia commons, e se si vuole costruire il progetto da zero, from scratch, la si può scaricare e ricaricare su [1]].

Bottoni sulla mappa

modifica

Per interagire con la mappa si devono aggiungere dei bottoni che permettano di scegliere il fuso di cui si vuole sapere l'orario.

 
scratch sprite

Le balls: ball1, ball2, di colori diversi simili a quelli dei tasselli in basso nei fusi dell'immagine serviranno come bottoni che rispondono con il fuso orario del fuso sul quale sono stati messi.

Orario del fuso di riferimento

modifica
 
scratch blocks

Una volta avviato il programma con la bandiera verde, green flag, sullo stage devono comparire data e ora del fuso orario di riferimento, nel caso dell'Italia quello di Roma-Berlino.

 
scratch current time

Cosa che si ottiene utilizzando la funzione apposita e scegliendo cosa, giorno, ora, minuti, visualizzare seguito dalla spunta.

E così sullo stage compaiono: data, mese, anno, ora e minuti.

 
Scratch stage

Giorno della settimana

modifica

E' importante conoscere il giorno della settimana poichè non tutti i fusi della terra si trovano allo stesso giorno. Ad esempio se sono le 4 del mattino di domenica in Europa in Amrica è ancora sabato. cosa che dovremo tenere in conto quando scriveremo il codice. Per ottenere il giorno della settimana si deve introdurre uno sprite che colleghi il giorno della settimana con i la funzione Day of the week che su Scratch produce dei numeri da 1 a 7 corrispondenti ai giorni.

Didascalia
Numero Giorno Day
1 domenica Sunday
2 lunedì Monday
3 martedì Tuesday
4 mercoledì Wednesday
5 giovedì Thursday
6 venerdì Friday
7 sabato Saturday

Quindi si deve creare una lista dei giorni della settimana, scegliere un sprite e assegnarli un codice che gli faccia dire l'elemento, l'item, della lista corrispondente al numero restituito dalla funzione day of the week.



Calcolo dell'orario del fuso scelto

modifica

Si deve tenere presente, come scritto sopra, che il fuso orario di Roma si trova a +1 ora rispetto al meridiano 0, 15° a est di Greenwich. Dunque si può passare a preparare un primo sprite bottone che calcoli l'orario del fuso sul quale sarà posizionato.

 
Scratch stage

Facendo riferimento allo stage riportato qui sopra riportiamo il codice del terzo bottone, quello viola, posizionato sul fuso -9, fuso che comprende l'Alaska. Poichè la distanza in fusi tra il fuso -9 e il nostro fuso il +1 è di 10 fusi il codice risulta essere quello che che toglie al nostro orario 10 ore.

 
scratch blocks

Nella prima parte del codice è presente un blocco if, se in italiano, che serve a controllare il giorno della settimana. Se l'operazione di sottrazione operazione di sottrazione o di somma per il calcolo del fuso da come risultato un numero negativo o un numero più alto di 24 prevede a cambiare giorno della settimana.

Una volta preparato il codice per un bottone basterà duplicare lo sprite, posizionarlo sullo stage e modificare il codice in base al fuso sul quale è posizionato.

Qui potete imparare il nome di città nel mondo appartenenti a diversi fusi: time and date map


Progetto

modifica

Il progetto Fuso Orario funzionante da confrontare.

Possibili miglioramenti

modifica

Un progetto più user friendly potrebbe avere zone da clikkare più estese e maggiormente corrispondenti ai fusi, e/o anche più città posizionate correttamente sulla mappa.


Bibliografia

modifica
  • Guida all’uso di Scratch Versione Studenti; Alberto Barbero, Marco Marchisotti, Alberto Davì; Associazione Dschola, Iniziativa realizzata nell’ambito del progetto Diderot della Fondazione CRT, 2014

Collegamenti esterni

modifica