RALLYE SU CARTA

Talliente Martina

Competenze richieste:

Si consiglia la visione dell’attività “Introduzione alle funzioni” e “Variabili da Rallye

Materiale

Rallye di Djeco e un foglio di carta
Foglio di carta

Età

A partire da 10 anni

Numero di Giocatori

Attività per tutta la classe

Competenze acquisite

Obiettivi di apprendimento al termine della classe terza della scuola primaria

Ambito programmazione
O-M-P-4. Scrivere programmi anche utilizzando variabili di tipo semplice

Ambito programmazione
O-M-D-3. Utilizzare le variabili per rappresentare lo stato dell’elaborazione

Ambito programmazione
O-M-P-5. Seguire l’evoluzione dell’elaborazione anche usando variabili che rappresentano lo stato del programma

Ambito programmazione
O-M-P-6. Usare le variabili nelle condizioni dei cicli e delle selezioni


Attività di approfondimento del concetto di variabile.

PREPARAZIONE:

È possibile scrivere una piccola sequenza di istruzioni in modo da rendere chiaro il concetto:

GIOCO{
  TURNO=1
  1.Per ogni turno
  2.DADO= valore del dado lanciato
  3.Per ogni combinazione di due carte:
    CARTA1= una carta a tua scelta
    CARTA2= un’altra carta a tua scelta
    esegui RISULTATO=CARTA1+CARTA2 oppure RISULTATO=CARTA1-CARTA2
    Se RISULTATO=DADO scarta le carte, aspetta il prossimo turno andando al punto 5
    altrimenti ricomincia dal punto 3
  4. Se per ogni combinazione di carte RISULTATO!=DADO non puoi scartare nessuna carta, vai al
  punto 5
  5. Aspetta il prossimo turno TURNO=TURNO+1 riprendendo dal punto 1
}

Nota: il simbolo != significa diverso

Per capire il concetto di variabili, eseguiamo insieme, passo dopo passo, la simulazione dell’algoritmo su carta.

Card image cap

1

Il gioco inizia con il primo turno, per ogni turno lanciamo un dado in modo da scrivere il valore nella variabile. Immaginiamo che esca 6 e immaginiamo di avere le seguenti carte: 2,3,4,6,8,9. Fra tutte le carte in mano ne scegliamo due, scriviamo il valore nelle corrispondenti variabili. Immaginiamo di prendere 9 e 2, eseguiamo o la somma o la sottrazione delle due carte e scriviamo il risultato nella rispettiva variabile (7). Ci domandiamo se il valore del risultato è uguale al valore del dado, in caso negativo ripartiamo dal punto 3 scegliendo altre due carte.

Card image cap

2

Scegliamo altre due carte, ad esempio 4 e 2, scriviamo questi valori nelle due variabili, ne eseguiamo la somma e scriviamo il risultato (6) nella variabile. Ci chiediamo se il valore del risultato è uguale a quello del dado. In questo caso sì, quindi scartiamo le due carte e andiamo al punto 5 che ci dice di attendere TURNO=TURNO+1=1+1=2, quindi il secondo turno con le carte 3,6,8,9

Card image cap

3

Quando tutti sono riusciti a scartare 2 carte, oppure altri non sono riusciti in mancanza di carte adeguate, si passa al secondo turno dove si rilancia il dado. Immaginiamo che esca 5, lo scriviamo nella variabile. Scegliamo due carte a piacere, 9 e 3, scriviamo il loro valore nelle variabili, calcoliamo 9-3=6 e lo scriviamo nella variabile RISULTATO. Ci domandiamo se il valore del risultato è uguale al valore del dado, in caso negativo ripartiamo dal punto 3 scegliendo altre due carte.

Card image cap

4

Scegliamo la carta 3 e 6 e scriviamo il loro valore nelle rispettive variabili, successivamente calcoliamo la somma di 6+3 che dà come risultato 9, lo scriviamo nella rispettiva variabile. Ci domandiamo se il valore del risultato è uguale al valore del dado, 9 è diverso da 5 quindi ripartiamo dal punto 3 scegliendo altre due carte.

Card image cap

5

Scegliamo la carta 8 e 3 e scriviamo il loro valore nelle rispettive variabili, successivamente calcoliamo la sottrazione di 8-3 che dà come risultato 5, lo scriviamo nella rispettiva variabile. Ci domandiamo se il valore del risultato è uguale al valore del dado, 5 è uguale a 5 quindi scartiamo le due carte e andiamo al punto 5 che ci dice di attendere TURNO=TURNO+1=2+1=3, quindi il terzo turno con le carte 6,9

Card image cap

6

Finito il tempo per poter scartare le carte arriva il terzo turno, lanciamo il dado, immaginiamo che esca il valore 2, lo scriviamo nella variabile. Adesso abbiamo solo due carte, scriviamo il loro valore nelle variabili e calcoliamo il risultato effettuando una sottrazione. Il risultato è 3, lo scriviamo nella variabile e lo confrontiamo con il valore della variabile DADO. I due valori non sono uguali ma non ricominciamo dal punto 3 perché abbiamo finito le combinazioni di carte, proseguiamo quindi al punto 4: non possiamo scartare nessuna carta, andiamo al punto 5 aspettando il quarto turno. Quest’ultima situazione continua fino a quando il dado lanciato non assume il valore 3 che coincide con il risultato delle nostre carte, in tal caso le potremo scartare entrambe le carte vincendo.

Stabilisci delle coppie di bambini e dividili in gruppi di 3-4 coppie. Ogni coppia dovrà giocare insieme con le 6 carte iniziali e scrivere la simulazione su carta come appena visto.

QUESTO É INFORMATICA!


Abbiamo detto che in informatica una variabile è un contenitore di dati, come una scatola, situato in una porzione di memoria destinata a contenere valori che possono essere modificati nel corso di un programma.

Da questa attività notiamo che anche i turni del gioco possono essere identificati e gestiti tramite una variabile TURNO che cambia valore durante l’esecuzione del gioco. Questa variabile ci permette di capire a quale punto del gioco siamo: lo stato del gioco. Quindi, in informatica, è possibile utilizzare variabili per tenere traccia dello stato di elaborazione di un programma. Possiamo considerare, ad esempio, l’altezza di un bambino come una variabile che assume valori diversi nel corso degli anni, tenendo traccia dello stato dell’altezza del bambino. Un altro esempio simile è il peso di un bambino nel corso degli anni, oppure l’età, sono sempre variabili che servono a monitorare lo stato.


Ora che il concetto di variabile è chiaro dobbiamo domandarci quando è utile, quando ci serve utilizzare una variabile. Per rispondere a questa domanda immaginiamo di essere nella nostra cucina e di dover cucinare un dolce, una torta, con l’aiuto della mamma. Dobbiamo seguire le istruzioni date dalla ricetta e utilizzare gli ingredienti forniti dalla mamma per riuscire a cucinare la torta. Noi però, non siamo cuochi, ma siamo dei programmatori e sappiamo solo leggere gli algoritmi e i dati input per produrre un output.

Vediamola in questo modo: la ricetta corrisponde all’algoritmo da seguire, gli ingredienti sono i dati input che abbiamo e la torta corrisponde all’output ovvero, al risultato che vogliamo ottenere:

La ricetta ci indica la quantità degli ingredienti da utilizzare quindi prendiamo la bilancia, una ciotola e versiamo il giusto quantitativo di latte, prendiamo una seconda ciotola e versiamo il giusto quantitativo di farina e così via. Dalla ricetta vediamo che ci sono tre ingredienti quindi abbiamo bisogno di tre ciotole in cui versarli. Solo dopo aver pesato la quantità giusta di tutti gli ingredienti, li versiamo e li mischiamo insieme all’interno di un’unica ciotola, che mettendo in forno, darà come risultato la torta.

Se la mamma cambiasse idea e decidesse di aggiungere dello zucchero cosa dovremmo fare? Lascia discutere la classe.

Sicuramente i bambini avranno suggerito risposte come, ad esempio, unire il latte nella ciotola della farina ed utilizzare la ciotola vuota per pesare lo zucchero, ma la risposta giusta è che dovremmo prendere una quarta ciotola in cui mettere la quantità di zucchero perché ogni ingrediente va introdotto in una ciotola, non possiamo mischiare più ingredienti se non alla fine per ottenere il risultato richiesto. Questo è il funzionamento di una variabile. Quindi dopo aver spiegato questo, quanti dati ci permette di memorizzare una variabile? Solo uno.