PUZZLE

Talliente Martina

Materiale

Puzzle scaricabile o fogli di carta per crearlo

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-D-4. Utilizzare variabili strutturate per rappresentare aggregati di dati omogenei (es. vettori, liste, …)


Attività di introduzione al concetto di vettore

PREPARAZIONE:

Stampa e ritaglia per ogni bambino le tessere di puzzle fornite, oppure creale insieme alla classe. Il gioco risulta essere molto semplice per i bambini di 10 anni che devono unire tessere di puzzle formando accoppiamenti a proprio piacimento.

Quando tutte le tessere del puzzle sono state associate, chiedi ai bambini di ordinarle secondo un criterio a piacere. Qualcuno le ordinerà in base ai colori, altri in base ai numeri, alcuni in base ai loro animali preferiti, in modo crescente o decrescente. Chi le ha ordinate in modo crescente è il vincitore.


QUESTO É INFORMATICA!


La struttura creata è identica ad una struttura dati utilizzata in informatica chiamata vettore. Il vettore è una struttura di dati che ha un nome, contiene dati dello stesso tipo e gli elementi si distinguono uno dall’altro attraverso un indice. Infatti, nel nostro vettore, chiamato PUZZLE, possiamo considerare che i dati sono le tessere a destra, e sono dello stesso tipo poiché vi sono rappresentati solo animali, mentre l’indice (un numero intero) è rappresentato dalle tessere a sinistra ed individua i diversi tipi di animali

Ad esempio, l’ape è identificata dall’indice 5, quando l’indice vale 8 invece, viene identificato il pesce. Quindi, per individuare un singolo elemento si specifica l’indice corrispondente: PUZZLE[5] = ape
L’indice è una variabile che prende i valori da 1 a 8, in questo caso.
Il numero delle componenti di un vettore si dice dimensione del vettore, nel gioco il vettore ha dimensione pari a 8.

Quando ci serve utilizzare il vettore?
Fino a questo momento abbiamo memorizzato le informazioni all’interno delle variabili che ci permettono di conservare un solo valore per volta e, quando vogliamo inserire un nuovo valore, dobbiamo obbligatoriamente sostituire il precedente, invece, il vettore permette di raggruppare più dati.
Nel gioco precedente sulle variabili anzi che utilizzare una variabile RISULTATO sempre modificata e aggiornata con il valore nuovo, con conseguente perdita dei valori vecchi, avremmo potuto usare un vettore per memorizzare tutti i risultati calcolati.

Il vettore viene sempre numerato a partire da 1 in modo crescente.
Come primo risultato avevamo calcolato 8-3=5 quindi inseriamo 5 nella prima casella
del vettore, poi avevamo calcolato 8-2=6 lo mettiamo nella seconda cella del vettore e così via.

Nel gioco precedente i valori di risultati vecchi, se diversi dal valore del dado, non sono riutilizzabili, non servono a nulla, sarebbe uno spreco di spazio memorizzare tutti questi valori inutili in un vettore, quindi è meglio utilizzare una variabile. Immaginiamo, invece, di voler memorizzare all’interno di VOTO_DI_MATEMATICA tutti i voti di matematica presi da Bob durante l’anno. Non è possibile utilizzare una variabile perché terrebbe traccia solamente del voto più recente sostituito ai precedenti.

Nel gioco precedente i valori di risultati vecchi, se diversi dal valore del dado, non sono riutilizzabili, non servono a nulla, sarebbe uno spreco di spazio memorizzare tutti questi valori inutili in un vettore, quindi è meglio utilizzare una variabile. Immaginiamo, invece, di voler memorizzare all’interno di VOTO_DI_MATEMATICA tutti i voti di matematica presi da Bob durante l’anno.

Non è possibile utilizzare una variabile perché terrebbe traccia solamente del voto più recente sostituito ai precedenti. Questa situazione è facilmente traducibile in informatica grazie all’utilizzo di un vettore VOTO_DI_MATEMATICA in cui salvare tutti i voti, in modo da calcolare la media leggendo tutti i valori, sommandoli e dividendo il risultato per il numero di voti totali.

VOTO_DI_MATEMATICA

IndiceValori
19
29
38
47
56,5
67
72
810
98
106

es: VOTO_DI_MATEMATICA[3] = 8

MEDIA =

VOTO_DI_MATEMATICA[1] + VOTO_DI_MATEMATICA[2] +
VOTO_DI_MATEMATICA[3] + VOTO_DI_MATEMATICA[4] +
VOTO_DI_MATEMATICA[5] + VOTO_DI_MATEMATICA[6] +
VOTO_DI_MATEMATICA[7] + VOTO_DI_MATEMATICA[8] +
VOTO_DI_MATEMATICA[9] + VOTO_DI_MATEMATICA[10] : 10

I dati all’interno delle celle del vettore possono essere modificati, si può ad esempio, decidere che nel vettore PUZZLE, l’elemento identificato dall’indice pari a 5 non debba più essere l’ape ma il pesce. Oppure, immaginiamo che la maestra non abbia corretto bene l’ultima verifica di Bob: il punteggio degli esercizi è 7, non 6, quindi la maestra deve poter correggere anche nel vettore VOTO_DI_MATEMATICA semplicemente scrivendo VOTO_DI_MATEMATICA[10]=7, il valore precedente 6 viene sostituito da quello appena scritto.


Se gli elementi del vettore possono cambiare allora cosa sono? Variabili!


Immaginiamo adesso che la maestra voglia memorizzare i voti di matematica di tutta la classe, e non solo quelli di Bob, chiedi alla classe dei suggerimenti su come potrebbe fare.

VOTI_BOB

IndiceValori
19
29
38
47
56,5
67
72
810
98
106

VOTI_ALICE

IndiceValori
16
29
38
47
56,5
67
78
810
98
108

VOTI_MARCO

IndiceValori
19
27
38
47
56,5
67
72
85
98
106

L’idea è quella di utilizzare tanti vettori quanti sono i bambini in classe, in modo che i voti di matematica di ogni bambino siano memorizzati su vettori diversi. È necessario, inoltre, cambiare il nome del vettore e usarne uno diverso per ogni bambino in modo che siano facilmente riconoscibili.

La maestra deve quindi creare un vettore per ogni bambino, se ci fossero 20 bambini in una classe dovrebbe creare 20 oggetti. Quando vuole inserire il voto dell’interrogazione di Bob e Alice deve cercare il vettore dello studente interessato, ad esempio prima Bob, inserire il voto, uscire da questo vettore, cercare il vettore di Alice, inserire il voto e così via… Bisogna compiere tante operazioni simili che però richiedono tanto tempo.

In effetti, anche l’utilizzo di ogni pagina per ogni bambino comporta lo spreco di spazio e fogli e alla
maestra viene un’idea: scrivere queste informazioni all’interno di una tabella, utilizzando così solo una pagina.

Quali somiglianze possiamo notare con la tabella creata dalla maestra e i 3 vettori precedenti?
La tabella sembra essere creata dall’unione e accostamento dei vettori. In informatica, esiste una struttura dati fatta in questo modo e si chiama matrice.

La matrice è composta da righe e colonne, quindi il vettore può essere visto come una particolare matrice con una sola riga e tante colonne.

MATERIALE AGGIUNTIVO SCARICABILE

Card image cap
Materiale aggiuntivo 1

Puzzle scaricabile.