Divisioni con il resto (scuola media)

Da Wikiversità, l'apprendimento libero.
lezione
lezione
Divisioni con il resto (scuola media)
Tipo di risorsa Tipo: lezione
Materia di appartenenza Materia: Informatica per la scuola media 1
Avanzamento Avanzamento: lezione completa al 100%

Divisione con il resto (scuola media)[modifica]

Calcolatrice per fare le divisioni con il resto

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 divisioni con il resto. Dati due numeri: dividendo e divisore, la calcolatrice svolge la divisione del primo per il secondo restituendo il quoziente ed il resto. Giusto per ricordare come funziona la divisione:

con

e quindi

Come funziona una divisione con il resto[modifica]

La regola imparata a scuola[modifica]

La regola, l'algoritmoVK, per fare le divisioni con il restoVK lo si impara a scuola, anche se, dopo l'avvento delle calcolatriciVK, lo si dimentica piuttosto velocemente.

Giusto per ricordarla metto qui sotto un esempio che trovate commentato su Divisibilità e fattorizzazione: mcm e MCD (scuola_media)

Resto e divisore[modifica]

Noi però possiamo approfittare della capacità di un computer di fare molti calcoli, anche complessi, in poco tempo. Partiamo dall'osservare che il risultato della divisione con il resto si compone di un quoziente e del resto, altrimenti non si chiamerebbe così;-)
Il quoziente rappresenta il fattoreVK per il quale si deve moltiplicare il divisore per ottenere il suo multiplo più piccolo e più vicino possibile al dividendo.
In altre parole il Quoziente (risultato) della divisione è quel multiplo del divisore


tale che la differenza che chiamiamo Resto


Deve essere più piccola del Divisore.

Se tutto funziona a dovere possiamo in generale scrivere


che è vera anche nel caso in cui il dividendo è minore del divisore, caso nel quale il quoziente è uguale a 0.


Per fare questo lavoro con Scratch non faremo altro che costruire un ciclo ripeti fino a che una condizione non diventi vera.
Repeat until [1]
Nel nostro caso la condizione è quella che ci segnala che siamo arrivati al multiplo cercato e cioè che il resto sia più piccolo del divisore.

Variabili[modifica]

Cominciamo con preparare le variabili necessarie (input) al funzionamento Dividendo e Divisore e quelle (output) che ci aspettiamo assumano il valore delle soluzioni Quoziente e Resto

Istruzioni Immagini
Creiamo 4 variabili:

Dividendo, Divisore, Quoziente, Resto

Eccole:

VariabileDividendo, VariabileDivisore, VariabileQuoziente, VariabileResto


Valori iniziali[modifica]

Per cominciare il gatto ci chiederà i valori di Dividendo e Divisore (input) e automagicamente assegnerà Al Resto lo stesso valore del Dividendo e 0 al quoziente.
Infatti, in generale


cosa che è particolarmente vera con i nostri valori iniziali




Riceviamo input[modifica]

Sprite Blocchi codice Istruzioni
AskSetDividendoDivisore Il gatto ci pone la domanda Dividendo? e assegna la risposta alla variabile e lo stesso fa con il Divisore?

Assegniamo valori inziali a Quoziente e Resto[modifica]

Sprite Blocchi codice Istruzioni
SetRestoQuoziente Il Resto diventa uguale al Dividendo mentre il Quoziente vale 0 all'entrata del ciclo repeat until.

Il ciclo repeat until[modifica]

In questo ciclo viene incrementato il quoziente e di conseguenza il resto diventa sempre più piccolo.
Il ciclo comincia se il Resto è Maggiore o uguale al Divisore, altrimenti il quoziente resta 0. Cosa che è corretta infatti se il Dividendo è più piccolo del Divisore il Quoziente della divisione è 0 ed il resto è l'intero Dividendo.

Sprite Blocchi codice Istruzioni
CicloDivisioniConResto Il ciclo funziona fino a che il Resto è maggiore o uguale al divisore. Il primo comando incrementa il Quoziente di 1, cosa che avverrà ad ogni passaggio. Il secondo comando ricalcola il Resto che diventa sempre più piccolo.


I risultati li dice il gatto[modifica]

Sprite Istruzioni Blocco codice1
SayJoinDividendoDivisoreQuozienteResto In questa lunga sequenza di join il gatto da i risultati. Questo pezzo di codice non è necessario al funzionamento della calcolatrice.

Il codice completo[modifica]

Sprite Istruzioni Blocco codice1
DivisioniConResto


Schema progetto da montare[modifica]

https://scratch.mit.edu/projects/358747969/

Scratch sa fare le divisioni con il resto[modifica]

C'è da sapere anche che: Scratch ha tra le sue operazioni possibili anche una operazione che ci restituisce direttamente il resto di una divisione.
In questo tutorial non è stata usata questa operazione, anzi è stata creata e, spero, ne è stato ricostruito il funzionamento. In informatica un programma che fa una azione semplice che poi serve ad altri programmi si chiama libreria.
Ovviamente chi volesse può provare a creare un suo programma che utilizzi l'operazione mod per restituire quoziente e resto delle divisioni.

Istruzioni Immagini
Per ottenere il resto di una divisione si può usare l'operazione mod (resto della divisione di (NumeroGrande) diviso (NumeroPiccolo) in italiano) NumeroGrandeModNumeroPiccolo
Quindi giusto per fare un esempio 16mod7


Note[modifica]

  1. http://scratchblocks.github.io

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]