Orologio - Sistema sessagesimale

Da Wikiversità, l'apprendimento libero.
lezione
lezione
Orologio - Sistema sessagesimale
Tipo di risorsa Tipo: lezione
Materia di appartenenza Materia: Informatica per la scuola media 1
Avanzamento Avanzamento: lezione completa al 25

Calcolatrice per fare le addizioni con numeri espressi in forma sessagesimale

Versione di Scratch utilizzata[modifica]

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


Cosa richiede l'esercizio[modifica]

Creare una calcolatrice che faccia le addizioni sessagesimaliVK, tenendo conto che potrebbe verificarsi l'esigenza di fare dei riporti.
Fondamentalmente si devono eseguire le somme di gradi, minuti e secondi e poi controllare che secondi e minuti non superino il 59 nel qual caso si devono fare dei riporti togliendone 60 ed aggiungendone una unità all'unità superiore.

Come funziona una addizione sessagesimale[modifica]

Per maggior chiarezza commentiamo un esempio:

 

nell'ultimo passaggio sono stati eseguiti i riporti per riscrivere il risultato in forma normale si sono sottratti ,

, 

aggiungendo per ottenere così

 

ai quali al loro volta sono stati tolti per ottenere

 aggiungendo .

Quindi




Addendi e somma[modifica]

Per cominciare a far fare a Scratch una addizione sessagesimale dobbiamo fornire in input gli addendiVK e prevedere come Scratch ci restituirà il risultato, la sommaVK. Ogni numero scritto in forma sessagesimale richiede Gradi, Minuti e Secondi.
Cominciamo quindi a preparare 9 variabili:

Istruzioni Immagini

Come esempio per il primo addendo

  • Gradi_addendo_1
  • Minuti_addendo_1
  • Secondi_addendo_1

altre tre vanno preparate per il secondo addendo ed altre tre per la somma.

Eccole:

scratch block


Come si presenta lo stage: sprite e variabili visibili[modifica]

Per avviare le funzioni richieste:

  • input
  • addizione
  • riporto Secondi-Minuti
  • riporto Minuti-Gradi

possiamo pensare ad assegnare compiti diversi a sprite diversi. Senza troppa fantasia si potrebbero usare:

Sprite Istruzioni
Il gatto raccoglie gli input
ButtonAddizione tasto per eseguire l'addizione
ButtonRiportoSecondi tasto riporto secondi
ButtonRiportoSecondi tasto riporto minuti

Lo stage si presenta così



Cominciamo con gli input[modifica]

Per prima cosa per far funzionare la calcolatrice si devono fornire gli addendi e quindi il nostro Gatto dovrà farci le 6 domande necessarie per assumere Gradi, Minuti e Secondi dei due addendi.

Sprite Blocchi codice Istruzioni
AskGradiAddendo1 Il gatto ci pone 6 domande e assegna i valori alle variabili:
  • Gradi_addendo_1
  • Minuti_addendo_1
  • Secondi_addendo_1
  • Gradi_addendo_2
  • Minuti_addendo_2
  • Secondi_addendo_2

qui di fianco c'è il codice per la variabile Gradi_addendo1, per ottenere l'input dei due addendi basta ripetere per 6 volte la domanda, ask, e la conseguente assegnazione, set - answer, modificando la variabile.

Il completamento dell'immissione degli addendi potrebbe essere segnalata con un output il Gatto potrebbe dire: «OK!», si devono mettere i comandi opportuni.

Sommiamo![modifica]

Aggiungiamo lo sprite del Tasto Addizione e procediamo con l'operazione.

Sprite Blocchi codice Istruzioni
ButtonAddizione SetGradi sommaToGradi add1Gradi add2 Il clik sul tasto addizione procede a calcolare la somma dei Gradi come in figura, aggiungete il blocco per la somma dei Minuti e dei Secondi

Controllo e riporti[modifica]

Fatta la somma si deve controllare che il risultato sia espresso in forma corretta, cosiddetta forma normale. I minuti e i secondi devono essere meno di 59 altrimenti si deve procedere con i riporti, sottraendo 60 alla quantità eccedente ed aggiungendo 1 all'unità superiore.

Riporto Secondi - Minuti[modifica]

Nella tabella potete vedere come potrebbe essere il codice necessario per procedere con il riporto dai Secondi ai Minuti. Sono presenti due versioni, la prima breve ed essenziale fa quello che deve fare senza nessun tipo di output, cioè non è visibile nessun segnale dell'avvenuto riporto che non sia il cambiamento dei valori di Secondi e Minuti.
La seconda versione fa sì che il tasto riporto secondi comunichi l'avvenuto riporto.

Sprite Blocchi codice Istruzioni
ButtonRiportoSecondi WhenClickedIfRiportoShort Il clik sul tasto riporto secondi dopo aver controllato il valore dei secondi, if, procede nel caso che i secondi superino il 59 a fare il riporto sottraendo i secondi eccedenti e aggiungendo un minuto.
ButtonRiportoSecondi WhenClickedIfElseRiporto Questo codice fa la stessa cosa di quello sopra aggiungendo due commenti say.

Riporto Minuti - Gradi[modifica]

ButtonRiportoMinuti
ButtonRiportoMinuti

Aggiungiamo un ulteriore tasto riporto minuti si comporta in modo analogo al precedente riporto secondi, il codice è del tutto simile avendo la sola accortezza di modificare le variabili.

Modello progetto da completare[modifica]

Va su https://scratch.mit.edu/projects/358481615/ remixa e rinomina il progetto e completalo.

Note[modifica]

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]