Area e perimetro con Scratch – Realizziamo in questa lezione una serie di esempi per calcolare l’area e il perimetro del rettangolo con Scratch.
Questi semplici esercizi possono essere proposti nella scuola primaria e nella scuola secondaria.
Primo esempio – calcolo del perimetro
Calcolare il perimetro di un rettangolo date le misure dell’area e della base.
Avendo la base e l’area mi posso calcolare semplicemente l’altezza con questa formula
h=A/b
In quanto l’area di un rettangolo è uguale a base per altezza.
Dunque A=b*h e da qui si deduce che h=A/b.
Diagramma a blocchi con Scratch per il calcolo del perimetro del rettangolo
Innanzitutto creo le variabili area, base, altezza e perimetro:
Le variabili area e base le prendiamo in input, mentre l’altezza la ricaviamo utilizzando la formula detta sopra. Infine calcoliamo il perimetro che è dato dalla somma di tutti i lati. Dato che in un rettangolo i lati sono uguali a due a due scrivo semplicemente: perimetro=2*(base+altezza).
Ecco il diagramma a blocchi completo.
Chiaramente possiamo fare i controlli dell’input per l’area e la base per far in modo di inserire valori positivi. Ammettiamo però che la base possa essere più grande dell’area, quindi ad esempio se l’area è 20 cm2 e la base è 25 cm l’altezza ricavata è 0,8cm.
Un’altra cosa che potremmo fare è arrotondare il risultato così come abbiamo fatto negli esercizi precedenti.
Ecco dunque il diagramma a blocchi completo.
Esempio di calcolo area di un rettangolo
Calcolare l’area di un rettangolo date le misure del perimetro e dell’altezza.
In questo secondo esempio calcoliamo questa volta l’area di un rettangolo.
Quindi ricaviamo la base con questa formula:
base=(perimetro-2*altezza)/2.
Quindi calcoliamo l’area=base*altezza.
Oppure calcolo prima il semiperimetro e quindi base=semiperimetro-altezza.
Ecco il diagramma a blocchi completo.
Questi sono solo dei semplicissimi esercizi sull’area e perimetro con Scratch da poter realizzare con facilità.
In questa lezione studieremo come trovare il massimo comune divisore con Scratch.
Innanzitutto diamo la definizione di massimo comune divisore, che possiamo abbreviare più semplicemente con il simbolo MCD.
L’MCD è il più grande divisore comune dei numeri presi in considerazione.
Ad esempio consideriamo i numeri 15 e 5. Troviamo dapprima i divisori di 15 che sono: 1,3,5,15 e poi i divisori di 5 che sono:1,5.
Quindi il più grande divisore tra i due numeri è 5.
Se il più grande divisore è 1 si dice che i numeri sono coprimi ovvero primi tra di loro.
Nell’implementazione dell’esercizio faremo uso delle liste e dei blocchi.
Quando si è davanti ad un problema complesso conviene infatti dividerlo in sottoprogrammi per poter sviluppare le varie parti separatamente.
Procedimento per trovare il massimo comune divisore con Scratch
Ecco innanzitutto le variabili che ho utilizzato e che a mano ve ne spiegherò l’utilità.
Utilizzo della lista
Ci servirà una lista per contenere tutti i possibili divisori del primo numero preso in input.
Dunque creo una lista e la chiamo ad esempio divisori.
Utilizzo del blocco divisori
Creiamo il blocco divisori che serve a trovare tutti i divisori del primo numero preso in input, che è memorizzato nella variabile appositamente creata di nome numero.
Quindi utilizziamo la variabile div che rappresenta il divisore. Questa variabile la inizializziamo a 1. Dopo realizziamo un ciclo utilizzando l’istruzione ripeti fino a quando che si fermerà quando la variabile div sarà uguale al valore del numero preso in input.
Quindi controlliamo all’interno del ciclo se il resto della divisione del numero per il divisore è uguale a zero. Se è vero allora inseriamo la variabile div all’interno della lista divisori, altrimenti non facciamo nulla. In ogni caso incrementiamo la variabile div di uno per trovare altri divisori possibili del numero preso in input.
Utilizzo del blocco trova
Ci servirà adesso un altro blocco che chiamo ad esempio trova che servirà a trovare il divisore più grande possibile.
Come agirà questo blocco? Assegniamo alla variabile lunghezza il valore della lunghezza dei divisori. Dopo usiamo un indice i che scorre la lista dalla fine all’inizio. Appena trova un divisore, quello sarà il massimo comune divisore e quindi il programma si può fermare. Se arriva ad 1 vuol dire che i numeri sono coprimi.
N.B. Potevo anche fare a meno di utilizzare la variabile lunghezza, cambiando alcune impostazioni. Cioè portando i uguale alla lunghezza di divisori e cambiare il ciclo ripeti fino a quando lunghezza di divisori è uguale a zero.
Programma principale per trovare il massimo comune divisore con Scratch
Adesso dobbiamo sviluppare il programma principale.
Chiediamo il primo numero e se negativo lo trasformiamo in positivo, perché il procedimento è uguale. Per trasformare il numero in positivo o lo moltiplichiamo semplicemente per -1 oppure utilizziamo la funziona abs.
Dopo avviamo il blocco divisori.
Poi chiediamo il secondo numero e anche questo, se negativo, lo trasformiamo in positivo.
Infine avviamo il blocco trova che troverà il massimo comune divisore.
Chiaramente questo è uno dei possibili metodi per trovare il massimo comune divisore con Scratch.
Nella prossima lezione vi presenterò la soluzione con il metodo di Euclide.
In questa lezione calcoleremo i numeri primi da 1 a 100 con Scratch.
I numeri primi sono i numeri interi positivi che hanno solo due divisori: 1 e il numero stesso. I divisori non devono coincidere, quindi 1 non è primo.
Dunque prendiamo in considerazione i numeri nell’intervallo da 1 a 100 e calcoliamo con un algoritmo quali sono i numeri primi e quali no.
Codice a blocchi per il calcolo dei numeri primi da 1 a 100 con Scratch
Per sviluppare questo algoritmo questa volta utilizziamo Scratch. Ricordiamo che l’abbiamo già risolto con algobuild, al seguente link: numeri primi da 1 a 100 con algobuild.
Scegliamo uno sfondo e uno sprite qualsiasi.
Serviranno le variabili: conta per contare i divisori, div che rappresenta il divisore e num la variabile per i numeri che facciamo partire da 2 fino ad arrivare a 100.
Ecco dunque lo script completo per il calcolo dei numeri primi da 1 a 100 con Scratch.
Innanzitutto partiamo da num uguale a 2.
Poi ripetiamo, finché num non diventa maggiore di 100, queste istruzioni:
conta=0 inizializziamo cioè il contatore dei divisori.
div=2 portiamo il divisore (ovvero il numero per cui inizieremo a dividere) a 2.
Realizziamo un altro ciclo che si fermerà se conta diventerà maggiore di 1 (cioè avrà trovato più divisori) oppure finché il divisore non supera num/2. Il ciclo avrà le seguenti istruzioni:
istruzione condizionale: controlla se il resto della divisione di num per div è uguale a zero, se si aumenta il conta di 1. Quindi il numero non sarà primo.
in ogni caso si incrementa la variabile div di 1 per cercare altri divisori.
Dopo aver cercato tutti i divisori possibili controlla se la variabile conta è uguale a zero. Se si stampa il numero in quanto vuol dire che è primo.
In ogni caso si incrementa num di 1 per valutare il numero successivo.
Chiaramente questa è una possibile soluzione all’algoritmo con Scratch per cercare i numeri primi da 1 a 100.
Provate a variare l’algoritmo partendo da 1.
Provate anche a variare l’algoritmo chiedendo in input un intervallo di numeri che l’utente dovrà inserire, ovviamente inserendo anche i controlli dell’input.
In questo articolo impareremo a fare coding con Scratch in maniera semplice, senza utilizzare le strutture condizionali (se, se allora) o iterative (ripeti, ripeti fino a quando).
Esempio di coding con Scratch
Dato il perimetro di un triangolo equilatero calcolare l’area.
Bene, il problema è di facile risoluzione e presenta varie soluzioni.
La prima, più ovvia, prevede l’uso della formula:
area=sqrt(3)/36*(perimetro)2 dove con sqrt indichiamo la radice quadrata.
Il risultato di questa operazione con, ad esempio, il perimetro uguale a 24 cm è 27,71 cm2.
Ma ci sono anche altri procedimenti, bensì più lunghi, per trovare l’area.
Infatti, un triangolo equilatero ha tutti e tre i lati uguali, quindi diventa facile calcolare il lato. Basta fare questa operazione per ottenere la misura del lato: (24/3) cm=8 cm
Bene allora potremmo utilizzare questa formula:
area=sqrt(3)/4*(lato)2
Ho ancora un’altra possibilità che è quella di ricavarmi l’altezza e seguire questa formula area=(altezza)2/sqrt(3) ma ovviamente in questo caso è la soluzione meno logica da adottare.
Tutto ciò per mostrarvi che dato un problema esistono parecchie soluzioni, da quella più ottimale a quella meno, con più o meno passaggi.
Algoritmo che risolve l’area di un triangolo equilatero avendo il perimetro
Questo semplice problema si può risolvere anche creando del coding con Scratch, cioè utilizzando la programmazione a blocchi, molto semplice da implementare rispetto ai linguaggi di programmazione.
Utilizzo la prima soluzione che è la più ovvia.
Innanzitutto scelgo uno sfondo e uno sprite qualunque.
Dopo creo le variabili, in questo caso me ne servono solo due: area e perimetro.
Poi realizziamo il nostro codice a blocchi.
Chiediamo innanzitutto il perimetro e lo memorizziamo in una variabile.
Dopo memorizziamo nella variabile area il risultato della seguente formula: sqrt(3)/36*(perimetro)2
Ma il risultato sarà un numero con la virgola, quindi occorre arrotondarlo. Per arrotondare a due cifre decimali moltiplico l’area per 100 e con la funzione arrotonda tolgo le altre cifre. Dopo divido il risultato per 100.
Ecco un esempio di coding con Scratch con la risoluzione del problema proposto.
Chiaramente si potrebbero aggiungere i controlli dell’input.
Questo è solo un possibile esempio di coding con Scratch. Ne farò tantissimi altri andando avanti nei tutorial.
In questo articolo parleremo di come trovare i divisori di un numero con Scratch.
Chiediamo quindi un numero in input e il programma trova i divisori in automatico.
Ad esempio se prendiamo in input il numero 6 i divisori sono 6, 3, 2, 1.
Quindi realizziamo con Scratch questo semplice programma.
Procedimento per il calcolo dei divisori di un numero con Scratch
Partiamo da alcune considerazioni.
Ogni numero è divisibile per se stesso e per 1, quindi facciamo senza a controllare se il resto della divisione è zero.
Inoltre possiamo restringere il campo delle divisioni ad n/2 in quanto ciascun numero diviso un numero maggiore della sua metà dà sempre resto diverso da zero.
Quindi potremmo dividere da 2 fino ad n/2. Nel caso in cui il numero sia dispari arrotondiamo il valore con la funzione arrotonda di Scratch.
Ecco quindi lo sfondo e lo sprite che ho scelto.
Creiamo poi le variabili numero e divisore:
Ecco il codice a blocchi completo per il calcolo dei divisori di un numero con Scratch.
Ho comunque diviso il numero per uno ma come spiegato prima potevo anche farne a meno.
Potevamo procedere anche iniziando a dividere da numero/2 fino ad 1, cioè al contrario.
Chiaramente questa è una possibile soluzione per trovare i divisori di un numero con Scratch, dunque proponete pure la vostra nei commenti sotto.
Affronteremo oggi i multipli di un numero con Scratch.
I multipli di un numero sono tutti quei numeri che si ottengono moltiplicando quel numero per altri numeri interi.
Facciamo un esempio:
6 è multiplo di 3 e anche di 2, infatti 6 è dato dal prodotto di 3 *2.
Primo esempio – multipli di un numero con Scratch
Prendiamo in input un numero e controlliamo se è multiplo di tre.
Innanzitutto scegliamo uno sfondo e uno sprite qualunque:
Dopo creiamo la variabile numero:
Quindi basterà controllare che il resto della divisone di numero per 3 sia diverso da zero.
Se la condizione è vera allora visualizziamo in output che il numero è multiplo di 3, altrimenti visualizziamo che non lo è.
Allego lo script completo per i multipli di un numero con Scratch.
Avremmo anche potuto utilizzare una costante dove poter memorizzare il valore tre in modo da poterlo cambiare facilmente e utilizzare tale valore più volte all’interno del nostro codice a blocchi.
Secondo esempio – multipli di un numero con Scratch
Facciamo un altro esempio generalizzando il problema, cioè chiediamo in input sia il numero che il multiplo.
In questo caso ci serviranno due variabili:
Poi controlliamo semplicemente che, dividendo il numero per il multiplo presi in input, il resto sia uguale a zero, in modo da poter visualizzare in output di conseguenza il messaggio opportuno.
Quindi ecco i blocchi necessari per risolvere i multipli di un numero con Scratch.
Analogamente si può ragionare per i sottomultipli.
Chiaramente questi sono solo degli esempi sui multipli di un numero con Scratch.
Commenti recenti