Un modello per l’utilizzo 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 d’utilizzo 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.

La   risoluzione dei problemi con i fogli elettronici

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 l’adozione/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 dell’esigenza 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 dell’esigenza 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 all’interno 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 all’applicazione 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 dell’equazione (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 nell’accezione 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 dell’individuazione 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 all’allocazione 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 quest’ultimo 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” (dall’inglese “work”) al nome del dato corrispondente sul foglio Variabili.

Una semplice situazione problematica ci permetterà di mettere il tutto in pratica nell’esempio riportato di seguito.

Un caso esemplificativo

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 sull’utilizzo 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"

 

 

 

Implementazione dei fogli

 

Il lavoro è stato implementato utilizzando il software MS EXCEL. Nel quadro d’insieme 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

 

 


  home.gif (2994 byte)

 

 

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 nell’implementazione 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 l’utente, lasciando visibili solo quelli d’interfaccia (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