In questo articolo vedremo come “fare logica” con Scratch, grazie ai suoi semplici ma potenti operatori logici.

Logica con Scratch? Sì! In Scratch sono disponibili, nella categoria “Operatori”, tre operatori logici (Figura 1). Sono operatori booleani (con riferimento all’algebra di Boole) in quanto elaborano i dati in ingresso e restituiscono un valore uguale a falso (0) oppure vero (1).

Solitamente un operatore logico collega due proposizioni (A e B) per generare una terza proposizione (C) avente valore vero o falso.
Il funzionamento di un operatore logico può essere descritto mediante una tabella di verità.
Tabella di verità dell’operatore logico OR
A | B | C |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Tabella di verità dell’operatore logico AND
A | B | C |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
La negazione logica NON agisce su un’unica proposizione. Se questa è vera il risultato sarà falso, se è falsa il risultato sarà vero.
Tabella di verità dell’operatore logico OR
A | C |
---|---|
0 | 1 |
1 | 0 |
Logica con Scratch
Negli operatori logici di Scratch possiamo inserire solamente blocchi a forma di esagono schiacciato (detti anche “a punta”).
Questi blocchi hanno la caratteristica di “restituire”, quando eseguiti, valore false o true.
Si provi a cliccare, ad esempio, sul blocco di confronto … maggiore di … (Figura 2).

Nell’esempio di Figura 3 il gatto si sposta ogni mezzo secondo. Se così posizionato tocca il bordo, allora la sua dimensione aumenta di 1 (negli altri casi rimane inalterata).

In Figura 4 vediamo invece come usare un operatore logico (AND, in questo caso). Se il gatto tocca entrambi i cavi, allora prende la scossa!

L’operatore logico OR è mostrato in Figura 5. Il gatto dice «Gnam!» sia se tocca le banane sia se tocca la mela.

Come usare l’operatore logico NON? Un esempio è quello mostrato in Figura 6, in cui il gatto dice che non sta toccando (il bordo) solo quando effettivamente non lo sta toccando.

Puntata precedente: Coding con Scratch: operatori matematici (2° parte)
Puntata successiva: Coding con Scratch: logica (2° parte)
Devi effettuare l'accesso per postare un commento.