Che giorno è? - the end 😂

Benvenuti!

Finalmente arrivati alla fine anche se un progetto è un po' come un viaggio non è tanto la destinazione la cosa bella ma il viaggio stesso. 😳
Va be'! Ormai abbiamo tutto quello che ci serve per calcolare il nostro giorno della settimana e anche far parlare il nostro gattino per rendere il tutto più bello, essendo fortemente orientato ai bambini sfruttiamo al meglio tutte queste potenzialità.
In questo post andremo a comporre le due formule , una per il periodo giuliano e una per quello gregoriano, il blocco per la spiegazione e quello finale; non sono blocchi molto complessi ma ci daranno lo spunto per evidenziare alcune particolarità che possono creare problemi per chi è alle prime armi.


Ecco la formula che andremo ad utilizzare, vediamo i vari termini.
La (q) che precede le varie divisioni , differenziate per colore, ci indica che dobbiamo prendere solo la parte intera dei vari quozienti che la seguono (es. 1981:4= 495.25 prenderemo solo 495), la N indica l'anno della data inserita e T è il nostro NUMERO GIORNI
N-1 è semplicemente l'anno sottratto di un' unità quindi basta fare le varie divisioni e compiere le varie addizioni e sottrazioni, ricaviamo la nostra x e questo valore dovrà essere diviso per 7, il resto di questa divisione ci dirà il giorno della settimana ma adesso vediamo come comporre la formula.
Scratch ci mette a disposizione vari blocchi matematici ma dobbiamo fare anche molta attenzione nel momento in cui andiamo a comporre insieme questi blocchi per evitare errori nel calcolo, infatti in matematica ci sono delle regole ben precise da rispettare come la priorità nell'effettuare le varie operazioni oppure la presenza delle parentesi che può modificare la sequenza di esecuzione.
Non so se rende l'idea ma vi consiglio di immaginare i blocchi verdi degli operatori come se fossero compresi già delle parentesi, a questo proposito la forma arrotondata dei bordi può facilitare il ricordo delle parentesi tonde ; facciamo quindi molta attenzione a come componiamo i vari blocchi uno dentro l'altro perché per esempio 4 -(5+3) non è uguale a (4-5)+3 e questo errore può avvenire facilmente con i blocchi.
Per questo motivo andrò a dividere i vari gruppi di divisioni e le addizioni e sottrazioni per comporre in un secondo momento tutta la formula.

   
Sul lato sinistro ho posizionato tutti gli elementi che serviranno per la formula , nello stesso ordine di inserimento, mentre sul lato destro ho composto le varie operazioni per far vedere meglio l'effetto parentesi che si va a creare. Guardando il primo blocco addizione possiamo notare che è inserito all'interno del blocco sottrazione , quindi andremo prima ad effettuare l'addizione "nelle parentesi tonde" e il risultato andrà sottratto a quello che inseriremo nel terzo box bianco vuoto. Considerando il primo e il terzo box bianco e immaginando le famose parentesi simulate dal bordo , il risultato ottenuto verrà addizionato al seguente e ancora addizionato ad un altro elemento, capite bene che l'inversione del primo blocco addizione spostato nel secondo box della sottrazione va ad effettuare un' operazione totalmente differente. Il tutto è inserito all'interno di un comodissimo blocco resto della divisione ...diviso 7 , che fornisce proprio il resto che serve a noi. Sul lato sinistro il blocco intero inferiore ci permette di arrotondare il numero al primo valore intero più piccolo (es. 2,7 diventa 2) permettendoci di prelevare la parte intera della divisione. Il mio consiglio quindi è preparare prima i blocchi di sinistra componendo ANNO-1 inserendolo nella divisione e il tutto all'interno del blocco intero inferiore, fatto questo passare alla composizione delle operazioni nella formula facendo attenzione alla posizione della sottrazione. Fatto questo basterà inserire uno ad uno i pezzi nella formula, per maggiore chiarezza vi rimando sempre al progetto per visionarlo.


Tutta la formula , che nella foto vedete tagliata perché è veramente lunga 😆 , dovrà confluire all'interno di una variabile che chiameremo giorno della settimana e lo troviamo proprio sotto il blocco che riceve il messaggio GREGORIANO, dopo l'attesa di un secondo andiamo a prelevare il giorno della settimana che ho salvato all'interno di una lista chiamata codice giorno. Useremo il resto della divisione (giorno della settimana) per muoverci nella lista e selezione l'elemento corretto, unica eccezione bisogna farla per il numero 7 che diviso per 7 darà zero ma le liste con scratch iniziano da 1 quindi il nostro se allora altrimenti permette di prelevare il settimo elemento se il resto è zero mentre in tutti gli altri casi l'indice corretto è proprio il valore della variabile. Il blocco dire e pronuncia ci permette come sempre la scrittura a video e la pronuncia, di seguito invece vediamo i codice da usare per i giorni da inserire nella lista rispettando la regola codice = indice della lista. 


Per riempire correttamente la lista basta iniziare con la domenica inserita come primo elemento (resto della divisione = 1) e poi seguire normalmente fino ad arrivare al settimo elemento che sarà il sabato, come possiamo notare il resto coincide con la posizione all'interno della lista. 
Sia in questo blocco che nel prossimo finiremo lanciando un messaggio data che permetterà di scrivere a video la data e invitare a riprovare con una nuova data.



Questa invece è la formula che dobbiamo utilizzare per il calcolo del valore x nel caso di periodo giuliano, sarà più semplice e con meno blocchi per il resto la composizione sarà identica.



Anche qui il consiglio per evitare errori è scomporre i vari blocchi delle operazioni per metterli insieme con calma, salviamo tutto nella variabile e facciamo partire la nostra condizione per selezionare correttamente il giorno della settimana, anche qui alla fine inviamo il messaggio data.
Naturalmente tutto il lavoro fatto prima farà in modo che solo uno dei due messaggi arriverà quindi solo una delle due formule verrà attivata.




Il blocco data e il blocco SPIEGAZIONE sono veramente molto semplici , il secondo è solo un' insieme di blocchi dire e pronuncia con delle attese che ci permettono di spiegare tutta la storia relativa alla riforma gregoriana e alla curiosità sul calendario, potete organizzarla come più vi piace.
Il primo blocco invece è quello finale ed è costituito da un lunghissimo blocco unione che mi permette di inserire tutti i dati ricavati per scrivere la data completa, lasciandola a video mentre una voce ricorda che possiamo cliccare nuovamente sul gattino per introdurre una nuova data.
Adesso il nostro viaggio è veramente finito o forse no...
Spero vi sia piaciuto , noi ci vediamo al prossimo tutorial!

Raffaele 

 PS Come anticipato non mi sono limitato a questo progetto ma ho fatto delle aggiunte. Adesso il progetto prevede anche l'inserimento della data nel formato standard e Scratch ci restituisce il giorno della settimana, vai a sbirciare il nuovo codice 👋🏻

Commenti

Ciao, spero ti piaccia il blog. Se ti fa piacere qui puoi offrirmi un caffè!

Post popolari in questo blog

GOOGLE SCRIPT & KODULAR READ, WRITE, UPDATE, DELETE

Tu lo conosci THUNKABLE?