In questa lezione studieremo il blocco chiedi in scratch, modificheremo dunque l’esercizio precedente sulla somma di due numeri in modo da prendere dei dati da tastiera.

Infatti nell’esempio studiato nella scorsa lezione abbiamo assegnato noi dei valori a x e y. Vi allego il link: somma di due numeri in scratch 3.0.


Uso del blocco chiedi in scratch

Quindi inseriamo questo nuovo blocco nel nostro semplice programma in scratch 3.0.

Dunque selezioniamo la linguetta codice, così da avere a disposizione una serie di possibilità e attenzioniamo il pulsante sensori.

chiedi scratch

Soffermiamoci sul blocco chiediCome ti chiami?’ e attendi.

Questo blocco permette di chiedere un valore in input e di memorizzarlo in una variabile.

Banner Pubblicitario

Facciamo subito un esempio d’uso del blocco chiedi in scratch, seguendo questi passi:

1 Inizio: andiamo su situazioni e scegliamo quando si clicca sulla bandiera verde.

2 – Istruzione: andiamo su sensori e scegliamo il blocco chiediCome ti chiami?’ e attendi. Sostituiamo al posto di Come ti chiami? il testo Inserisci il primo numero.

3 – Creazione di una variabile: andiamo su variabili e creiamo la variabile di nome x, lasciando l’opzione per tutti gli sprite. (Se non ricordate i passaggi per creare una nuova variabile vi indico il link: variabili in scratch 3.0)

4 – Istruzione: trasciniamo il blocco porta x a.

5 – Risposta: inseriamo il blocco risposta che si trova nella sezione sensori.

variabile x

Se provate a cliccare sulla bandierina verde partirà il programma che vi chiederà un numero.

Banner pubblicitario

Inserite dunque il vostro numero da tastiera e premete invio, la risposta verrà così memorizzata nella variabile x.

Ma come facciamo a vedere se questo valore è stato effettivamente assegnato a x?

Se guardate nel pannello variabili, noterete che accanto alla variabile x c’è un segno di spunta. Se è selezionato, la casella della variabile con il valore assegnato sarà attiva nello stage.

variabile

Ecco dunque quello che si vedrà nello stage se, ad esempio, inserisco da tastiera il numero 24.

valore variabile

Continuiamo adesso con il nostro programma.

6 – Istruzione: andiamo su sensori e scegliamo ancora il blocco chiediCome ti chiami?’  e attendi. Sostituiamo al posto di Come ti chiami? il testo Inserisci il secondo numero.

7 – Creazione di una variabile: andiamo su variabili e creiamo la variabile di nome y.

8 – Istruzione: trasciniamo il blocco porta y a.

9 – Risposta: inseriamo il blocco risposta che si trova nella sezione sensori.

10 – Creazione di una variabile: andiamo su variabili e creiamo la variabile di nome somma.

11 – Istruzione: trasciniamo il blocco porta somma a.

12 – Operatori: trascinare il blocco con il +

13 – Variabili: trasciniamo le variabili x e y all’interno degli spazi vuoti del blocco operatore somma.

14 – Istruzione: andiamo su aspetto e scegliamo dire ciao per due secondi e modifichiamo la scritta inserendo la somma.

15 – Fine: andiamo su controllo e scegliamo ferma tutto

Ecco dunque il diagramma a blocchi completo del nostro programma che utilizza il blocco chiedi in scratch:

somma numeri

Noterete che abbiamo utilizzato il blocco unione di per rendere l’output più elegante. Questo blocco si trova nella sezione operatori, dunque basta andare a sostituire i valori predefiniti con quelli mostrati nell’esempio.

Programma in C++

Allego anche qui il codice equivalente in C++ che somma due numeri inseriti da tastiera per chi volesse consultarlo.

#include <iostream>

using namespace std; 

main() {
	int x,y,s;
	
	cout<<"Inerisci il primo numero: ";
	cin>>x;
	cout<<"Inerisci il secondo numero: ";
	cin>>y;

	s=x+y;
	
	cout<<"la somma e': "<<s;
	
}

Abbiamo utilizzato il nostro semplice programma utilizzando il blocco chiedi in Scratch e abbiamo sviluppato l’algoritmo in C++ per vedere l’analogia con i linguaggi di programmazione.

Alcuni link utili

Indice tutorial Scratch 3.0

Indice argomenti Scratch 2.0

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Sviluppo con Algobuild della successione di Fibonacci