Un modello per lutilizzo del foglio di calcolo elettronico nella risoluzione di problemi (da ATTI CONVEGNO DIDAMATICA - Didattica e Informatica - 3,4,5 maggio 2001 - Bari - Italia)
Con questo contributo viene proposto un modello dutilizzo di software appartenenti alla categoria dei fogli elettronici, applicabile in un contesto di risoluzione problemi. Se ne suggerisce la sperimentazione in particolare negli anni iniziali della scuola superiore e nei corsi di base sulla programmazione del computer.
In questo paragrafo viene descritto il metodo proposto per l'utilizzo di software della categoria fogli elettronici (spreadsheet) in un contesto di risoluzione problemi, applicabile in qualsiasi disciplina tecnico-scientifica, particolarmente negli anni iniziali dell'istruzione superiore e/o in quelli terminali della scuola dell'obbligo. Se ne raccomanda inoltre ladozione/sperimentazione in corsi di base sulla programmazione del computer, così come a chiunque si accinga ad intraprendere tale attività da autodidatta.
La peculiarità
del metodo va ricercata nel ricorso a fogli di lavoro multipli all'interno di una stessa
cartella relativa al problema da risolvere, operato secondo criteri tendenti a favorire la
distinzione delle diverse figure / ruoli in gioco, e specificatamente:
· l'esecutore (uomo o computer), che viene chiamato in
causa dall'utente per la risoluzione di un particolare problema;
· l'utente (uomo), ossia colui che, a fronte
dellesigenza ricorrente di risolvere una stessa situazione problematica nel futuro,
decide di delegare tale compito alla macchina (computer), per ragioni generalmente legate
a fattori quali efficienza, affidabilità e costi;
· il programmatore (uomo), cui compete l'onere di
predisporre l'esecutore per il soddisfacimento dellesigenza manifestata dall'utente,
cui permette di ottenere i risultati (Output) relativi alla risoluzione di una situazione
problematica ogni qualvolta lo desideri, semplicemente impartendo un ordine e fornendo i
dati in ingresso (Input) indispensabili.
Tali ruoli
tendono spesso a confluire in un'unica persona allinterno di un contesto didattico
(come peraltro in uno di sviluppo software), in quanto il discente viene chiamato ad
assolvere in tempi diversi più ruoli, ma proprio per questo è auspicabile il ricorso a
metodologie e tecniche che siano di aiuto per delineare un quadro concettuale di
riferimento che possa orientare lo studente. Al riguardo, si tengano anche in conto le
oggettive difficoltà derivanti dall'assunzione di diversi punti di vista: ad esempio, la
risoluzione dell'equazione 3x2+4x+5=0, se richiesta da un docente/testo di
matematica, porterebbe lo studente allapplicazione di un procedimento per
l'ottenimento delle radici (caso studente-esecutore), mentre in un contesto
informatico, o comunque di utilizzo di un computer per l'impostazione del problema, lo
studente sarebbe chiamato ad un lavoro completamente diverso, ad esempio impostando la
soluzione del problema con un software del tipo foglio elettronico (caso
studente-programmatore), o semplicemente fornendo i coefficienti a, b e c ad un
software specifico per la matematica, in grado di calcolare autonomamente le soluzioni
dellequazione (caso studente-utente)[1].
Scartando per
ovvi motivi il primo ed ultimo caso (studente-esecutore e studente-utente), concentreremo
la nostra attenzione su quello dello studente programmatore, da intendersi in
senso lato piuttosto che nellaccezione più classica del termine, in virtù della
sua valenza formativa e dell'impatto positivo sulla motivazione indotta nel discente.
Articoleremo un progetto per la risoluzione di una situazione problematica sui seguenti fogli di lavoro:
· foglio costanti, per contenere i dati immutabili in
relazione alla situazione problematica da affrontare, o che perlomeno si stima rimangano
stabili per periodi sufficientemente lunghi
· foglio input, per permettere l'inserimento dei dati
in ingresso da parte dell'utente durante la fase di esecuzione
· foglio variabili, per contenere tutti i dati, ad
eccezione di quelli costanti, necessari per l'elaborazione (dati in ingresso/uscita e di
lavoro): in esso verranno dunque memorizzati anche i dati in ingresso prelevati dal foglio
Input e quelli in uscita, destinati al foglio Output
· foglio elaborazione o programma, in cui dovranno essere incluse
tutte le istruzioni o passi necessari per trasformare i dati costanti e in ingresso
(presenti sui relativi fogli) nei risultati richiesti
· foglio Output, per visualizzare quei dati che
costituiscono i risultati desiderati dall'utente, prelevati dal foglio Variabili. E
naturalmente possibile fornire anche in uscita un dato ricevuto in ingresso.
Utilizzando il PC
si dovrà dunque creare un nuovo documento col software spreadsheet a disposizione, ed in
esso predisporre cinque nuovi fogli, nell'ordine e con i nomi di cui sopra.
Durante la fase di progettazione/test, che potrà trovare nel software un valido strumento di documentazione, lo studente sarà chiamato a riflettere sul testo della situazione problematica al fine dellindividuazione e classificazione preliminare dei dati in gioco (costanti, input, output), da collocare sugli appositi fogli di lavoro. Per ciascun dato egli dovrà:
· riservare una
cella libera (cella-dato), impostandone il
formato secondo la natura del dato stesso (numerico, letterale, ...), ed eventualmente
inserirvi un valore
· assegnare un
nome significativo alla cella prescelta per contenerlo (identificatore-dato), composto da una sequenza di
caratteri letterali e/o numerici, e comunque nel rispetto delle regole lessicali imposte
dal software utilizzato.
· immettere in
una cella contigua (preferibilmente alla sinistra della cella-dato) una descrizione libera
di ciò che il dato rappresenta (cella-etichetta).
Nel foglio
Variabili, verranno progressivamente riportati gli stessi dati di I/O, cui verranno
aggiunti, man mano che si procede nella progettazione, tutti i dati di lavoro necessari.
Le regole da seguire per allocare un dato su questo foglio sono le stesse già viste per
gli altri, ma tenendo in conto che l'identificatore-dato dovrà essere diverso da quello
eventualmente assegnato allo stesso dato nei fogli di I/O. A titolo di esempio, la cella
contenente il raggio di una circonferenza potrebbe avere come identificatore InRaggio,
raggio e OutRaggio, rispettivamente nei fogli Input, Variabili e Output.
Per quanto
concerne il riempimento della cella-dato, sarà preferibilmente contestuale
allallocazione della cella stessa per qualsiasi foglio, escluso il caso dei dati in
input, il cui inserimento potrà essere opportunamente differito alla fase di
test/esecuzione del progetto. In riferimento al contenuto, sarà generalmente il risultato
di una formula per i fogli Output e Variabili: nel primo caso, infatti, i dati potranno
essere prelevati dal foglio Variabili; nel secondo, si potrà accedere invece ai fogli
Input/costanti o, nel caso di dati di lavoro, al foglio Programma. Come detto in
precedenza, in questultimo sono elencati in sequenza i passi di elaborazione
(formule, nel gergo degli spreadsheet) che permettono di risolvere il problema, contenuti
in apposite celle-istruzioni. Ogni
cella-istruzione su questo foglio (facilmente assimilabile, per chiunque non a digiuno di
programmazione del computer, al classico comando di assegnazione del paradigma
imperativo-procedurale) dovrà permettere di assegnare un contenuto ad una variabile
(oltre che alla cella stessa, naturalmente!). Ora, avendo sistemato tutte le variabili
(contenitori di dati modificabili) nell'apposito foglio, ne scaturisce che il contenuto
relativo ad un dato di lavoro potrà e dovrà essere prelevato dalla cella-istruzione che
ne produce il valore.
Una
cella-istruzione, come le celle-dato, deve essere preceduta (a sinistra) da una
cella-etichetta contenente la relativa descrizione, con la funzione di chiarirne lo scopo
(in analogia ai commenti dei linguaggi di programmazione), e deve avere un proprio nome
univoco (identificazione-istruzione), che potrebbe essere ottenuto per esempio anteponendo
le lettere Wk (dallinglese work) al nome del dato
corrispondente sul foglio Variabili.
Una semplice
situazione problematica ci permetterà di mettere il tutto in pratica nellesempio
riportato di seguito.
Sia dato il problema: calcolare la circonferenza e l'area di un cerchio di raggio 5.
L'individuazione dei dati in gioco risulta immediata: pigreco, raggio, circonferenza, area. Una maggiore riflessione merita la classificazione degli stessi che, se da un lato porta rapidamente a considerare pigreco come dato costante (il suo valore sarà sempre pari a 3,14 per qualsiasi cerchio) e circonferenza ed area come dati in output, in quanto risultati da ottenere tramite la risoluzione del problema, per il raggio potrebbe essere fuorviata dal valore costante cinque presente nel testo del problema. A poco servirebbe l'obiezione che una formulazione più accurata di quest'ultimo potrebbe eliminare la pseudo-ambiguità (sostituendo ad esempio il 5 con la lettera "r") in quanto, al di fuori del contesto didattico, non saranno certo docenti e libri di testo a porre i problemi, e perciò i ragazzi dovranno essere abituati ad affrontare situazioni spesso non formalizzate/definite in modo ottimale, e dinanzi alle quali dovranno imparare a porsi criticamente. Del resto si erano già scartati, perché non interessanti in questo contesto, i casi studente-esecutore (sarebbe sufficiente l'utilizzo di una calcolatrice) e studente-utente (con l'utilizzo di apposito software applicativo specifico), a favore del caso studente-programmatore, imperniato sullutilizzo del foglio elettronico quale strumento formativo, oltre che di produttività.
Tornando alla
fase preliminare di analisi dei dati, la scelta giusta è dunque quella di considerare il
raggio del cerchio come dato in ingresso.
Per ogni singolo foglio verranno ora
dettagliate le celle da utilizzare classificate, secondo quanto detto in precedenza, in
base al tipo (etichetta / dato / istruzione).
Foglio Costanti
Ø celle-etichetta (vedi Tab. 1)
cella |
Contenuto |
A2 |
PiGreco |
Tab. 1
- etichette sul foglio "costanti"
Ø celle-dato (vedi Tab. 2)
cella |
identificatore |
Contenuto |
B2 |
PiGreco |
3,14 |
Tab. 2
- dati sul foglio "costanti"
Foglio Input
Ø celle-etichetta (vedi Tab. 3)
Cella |
Contenuto |
A2 |
Raggio
della circonferenza ? (in cm) |
Tab. 3
- etichette sul foglio "Input"
Ø celle-dato (vedi Tab. 4)
Cella |
identificatore |
Contenuto |
B2 |
InRaggio |
10 |
Tab. 4 - dati sul foglio "Input"
Foglio Variabili
Ø celle-etichetta (vedi Tab. 5)
cella |
Contenuto |
A2 |
Diametro |
A3 |
Circonferenza |
A4 |
Area |
A5 |
Raggio |
Tab. 5 - etichette sul foglio variabili
Ø celle-dato (vedi Tab. 6)
cella |
Identificatore |
Contenuto |
B2 |
Diametro |
=WkDiametro |
B3 |
Circonferenza |
=WkCirconferenza |
B4 |
Area |
=WkArea |
B5 |
Raggio |
=InRaggio |
Tab. 6 - dati sul foglio variabili
Foglio Programma (vedi Tab. 7)
Ø celle-etichetta
cella |
Contenuto |
A2 |
WkDiametro |
A3 |
WkCirconferenza |
A4 |
WkArea |
Tab. 7
- etichette sul foglio "programma"
Ø celle-istruzione (vedi Tab. 8)
cella |
identificatore |
Contenuto |
B2 |
WkDiametro |
=2*raggio |
B3 |
WkCirconferenza |
=diametro*Pigreco |
B4 |
WkArea |
=Pigreco*raggio^2 |
Tab. 8
- istruzioni sul foglio "programma"
Foglio Output
Ø celle-etichetta (vedi Tab. 9)
cella |
contenuto |
A2 |
Il
diametro è cm |
A3 |
La
circonferenza è |
A4 |
L'area
del cerchio è |
A5 |
il
raggio è cm |
Tab. 9 - etichette sul foglio
"Output"
Ø celle-dato
(vedi Tab. 10)
Cella |
contenuto |
B2 |
=diametro |
B3 |
=Circonferenza |
B4 |
=Area |
B5 |
=raggio |
Tab. 10 - dati sul foglio "Output"
Il lavoro è stato implementato utilizzando il software MS
EXCEL. Nel quadro dinsieme riportato di seguito (vedi fig. 1) vengono rappresentati
tutti i fogli, sui quali sono facilmente individuabili le celle etichetta / dato /
istruzione. Gli identificatori sono stati assegnati alle rispettive celle
mediante la procedura inserisci / nome / definisci: per una maggiore facilità
di lettura, si è scelto in generale di utilizzarli anche come etichette per i dati. Il
foglio di output viene inoltre visualizzato, per lo stesso motivo, anche nella modalità
visualizzazione formule.
Figura 1 - Quadro d'insieme dei
fogli implementati
La fase di collaudo dovrebbe essere condotta dallo studente inserendo i dati in ingresso nelle apposite celle-dato sul foglio di Input e, quindi, osservando ed interpretando i risultati su quello di Output. Se nellimplementazione del progetto è stata rispettata la metodologia illustrata nelle pagine precedenti, non sarà necessario, né opportuno, andare ad apportare modifiche sugli altri fogli, se non per eventuali correzioni agli errori (debugging) evidenziati dal test. Terminato il collaudo, si procederà nascondendo tutti i fogli che non riguardano lutente, lasciando visibili solo quelli dinterfaccia (Input e Output). In tal modo si rafforzerà ulteriormente nello studente la distinzione dei ruoli, così come il quadro concettuale relativo ad un sistema di elaborazione.
by Nikarts