Matematica al calcolatore: un’esperienza didattica

Matematica al calcolatore: un’esperienza didattica

Maria Carmela De Bonis, mariacarmela.debonis@unibas.it
Rosa Barbieri, rosabarbieri2@istruzione.it

1. Motivazioni

Gli ultimi venti anni sono stati caratterizzati dal fenomeno dell’informatizzazione di massa e i Calcolatori sono oramai diventati degli strumenti indispensabili nella nostra vita quotidiana e nel mondo del lavoro. Conseguentemente la società sta rivolgendo alla scuola una crescente richiesta di modernizzazione delle metodologie didattiche e, soprattutto, l’introduzione di una prima alfabetizzazione informatica al fine di evitare che al termine degli studi gli studenti si trovino praticamente esclusi da una realtà quasi totalmente computerizzata. D’altra parte, come spiega la scienziata americana Jeannet Wing, imparare a “pensare come un informatico, in modo algoritmico e a livelli multipli di astrazione” consente di sviluppare il cosiddetto “pensiero computazionale”, cioè l’attitudine mentale che consente di risolvere problemi di diversa natura pianificando delle strategie.

Naturamente, il calcolatore è il motore essenziale nello sviluppo di un’azione didattica innovativa e più efficace nell’insegnamento della matematica. La programmazione, poi, intesa come metodo di lavoro, non fa che enfatizzare il metodo matematico dal momento che favorisce la chiarezza delle idee e l’utilizzo di un rigoroso linguaggio formale, caratteristiche essenziali della matematica che rientrano tra gli obiettivi del suo insegnamento.

Nell’approcciare la risoluzione di problemi matematici con l’ausilio di un calcolatore è importante che gli studenti si rendano conto delle innumerevoli possibilità offerte loro ma anche dei limiti con cui devono confrontarsi. È molto utile soprattutto renderli consapevoli della non infallibilità degli strumenti di calcolo.

L’idea di questa esperienza didattica è, dunque, nata con l’obiettivo di invogliare gli studenti ad avvicinarsi al calcolatore per la risoluzione di problemi matematici, sviluppandone, contemporaneamente, anche il necessario senso critico. La sua realizzazione è avvenuta grazie al Piano Lauree Scientifiche (PLS) promosso e finanziato dal M.I.U.R e a cui il Dipartimento di Matematica, Informatica ed Economia dell’Università degli Studi della Basilicata ha aderito.

Questo breve articolo è dedicato alla descrizione delle attività svolte nell’ambito del laboratorio didattico tenuto dalla Dott.ssa Maria Carmela De Bonis, ricercatrice universitaria presso l’Università degli Studi della Basilicata, in collaborazione con la Prof.ssa Rosa Barbieri, per alcuni studenti delle ultime classi dell’Istituto di Istruzione Superiore “Francesco Saverio Nitti” di Potenza.

2. Percorso didattico

La matematica è uno strumento indispensabile per l’interpretazione e la predizione dei fenomeni che si verificano nel mondo reale ed è quindi alla base di tutte le scienze. Studiando i fenomeni della natura, gli scienziati cercano di ricavare un modello matematico, cioè una rappresentazione del fenomeno in termini di variabili, parametri e relazioni, che sia quanto più possibile rigoroso e coerente con il fenomeno reale. Quanto più un fenomeno è complesso, tanto maggiore è la quantità dei dati necessari per descriverlo e, quindi, tanto maggiore è il numero di variabili del conseguente modello matematico. Le proprietà incognite del fenomeno si deducono risolvendo il modello matematico che lo descrive.

Spesso, però, la soluzione del modello matematico non è data in forma esplicita o direttamente utilizzabile o, addirittura, non è proprio calcolabile per via analitica, e si rende necessario approssimarla con un metodo numerico.

Inoltre, anche quando la risoluzione del modello può essere affrontata con tecniche esclusivamente analitiche, il calcolo della soluzione può risultare troppo “oneroso” all’aumentare delle dimensioni del problema.

L’introduzione e la vasta utilizzazione dei calcolatori nel campo scientifico ha accresciuto lo sviluppo di metodi numerici che permettono di risolvere dei problemi matematici in maniera sempre più rapida e precisa. Inoltre, l’utilizzo di calcolatori sempre più potenti ha permesso di risolvere numericamente problemi di grandi dimensioni in tempi sempre più rapidi.

L’opinione assai diffusa sull’onnipotenza dei calcolatori odierni genera spesso l’impressione che i matematici non abbiano più alcuna difficoltà nella soluzione numerica dei problemi, e che debbano soltanto elaborare nuovi metodi di calcolo. In realtà le cose stanno diversamente.

I numeri vengono rappresentati in un calcolatore secondo il sistema binario e, quindi, come una sequenza di bit. Poichè la memoria è limitata, ad ogni numero reale viene riservato uno spazio finito di memoria, capace di contenere un numero finito di bit. Questo vuol dire che quando un numero viene memorizzato in un calcolatore si commette necessariamente un errore.

Il laboratorio si è aperto con la descrizione delle tecniche utilizzate dallo Standard IEEE 754 (Institute of Electrical and Electronical Engineerig) per la rappresentazione dei numeri nella memoria del calcolatore. Questo ci ha permesso di individuare l’insieme dei numeri rappresentabili esattamente e, dunque, prendere consapevolezza del fatto che tale insieme è solo un sottoinsieme, limitato inferiormente e superiormente, dell’insieme infinito \({\mathbb R}\) dei numeri reali. Tutti i numeri reali che non fanno parte di tale insieme vengono comunque rappresentati ma in maniera approssimata, commettendo, cioè, un errore. Successivamente è stato mostrato come tale insieme non solo è limitato ma è anche “bucato”, cioè non ha la proprietà di densità dell’insieme \({\mathbb R}\). Queste considerazioni ci hanno permesso di passare dal concetto di “numero reale” a quello di “numero macchina”.

Ciò che ha destato maggiore meraviglia e curiosità negli studenti è stato apprendere che, utilizzando un calcolatore, è impossibile implementare esattamente le operazioni aritmetiche e ci si deve accontentare delle cosiddette “operazioni macchina” per le quali non sempre valgono le ben note proprietà associativa, distributiva, legge di annullamento del prodotto, unicità dell’elemento neutro, etc. Una serie di test svolti al calcolatore utilizzando l’ambiente FreeMat (software open source per l’analisi numerica e la manipolazione dei dati) ha permesso loro di acquisire una certa consapevolezza della non onnipotenza del calcolatore e, allo stesso tempo, stimolato la loro curiosità sul come si possa intervenire per migliorarne le prestazioni.

Questo è proprio uno dei temi centrali del “Calcolo Scientifico”, quella branca della matematica che si occupa della risoluzione numerica dei problemi matematici. Attraverso alcuni esercizi al calcolatore, gli studenti hanno sperimentato come una delle principali cause della perdita di cifre corrette nei risultati delle operazioni macchina sia la “cancellazione numerica”, quel fenomeno che si verifica quando si esegue la somma algebrica tra numeri “quasi uguali” e di segno opposto. Sono stati, inoltre, suggeriti e applicati una serie di accorgimenti per ridurre gli effetti di tale fenomeno nei calcoli.

La seconda parte del laboratorio è stata dedicata allo studio di come gli errori introdotti sui dati iniziali possano propagarsi durante l’esecuzione dell’“algoritmo”, la sequenza dei calcoli prevista dal metodo risolutivo di un problema. Poichè l’entità della propagazione dipende anche dall’algoritmo utilizzato, è stato fatto notare agli studenti come un altro tema centrale del calcolo scientifico è la scelta dell’algoritmo “migliore” tra tutti quelli disponibili per la risoluzione numerica di uno stesso problema. Nella valutazione delle prestazioni di un algoritmo non si tiene conto soltanto della sua efficienza, cioè il numero di operazioni elementari richieste, ma anche della sua efficacia, cioè il numero di cifre corrette con cui fornisce il risultato.

Infine, nella terza e ultima parte del laboratorio, sono state studiate alcune soluzioni algoritmiche per risolvere numericamente alcuni semplici problemi matematici come la valutazione di un polinomio in un punto, la valutazione della funzione esponenziale in un punto, il calcolo della radice quadrata di un numero, il calcolo dell’inverso di un numero, il calcolo degli zeri di polinomi di grado superiore a \({5}\) e il calcolo delle soluzioni di equazioni non lineari non risolvibili analiticamente. Gli studenti hanno dimostrato interesse e hanno collaborato con i compagni e i docenti nella preparazione delle function (in linguaggio FreeMat) che implementano i metodi studiati.

3. Valutazione

La valutazione del laboratorio è decisamente positiva: ha rappresentato un’occasione di riflessione sull’utilizzo consapevole del calcolatore e ha favorito il lavoro collaborativo tra alunni e docenti nelle sviluppo delle migliori strategie per la risoluzione di problemi concreti di tipo matematico e informatico.

Gli studenti hanno partecipato attivamente alle attività svolte e alcuni di loro, in gruppo, hanno realizzato un lavoro di sintesi sui temi e le problematiche affrontate che è stato, poi, presentato in occasione della Giornata PLS che si è tenuta presso l’Università degli Studi della Basilicata il 24 maggio 2017.

Il laboratorio si è concluso con un test finale di valutazione che gli studenti hanno svolto collegandosi on-line alla piattaforma e-learning messa a disposizione dall’Università degli Studi della Basilicata. I 10 quesiti a risposta multipla oggetto del test sono riportati nella prossima sezione. Essi sono stati scelti dai docenti del laboratorio con l’obiettivo preciso di testare il livello di comprensione dei concetti cruciali. I risultati del test sono stati molto soddisfacenti.

4. Quesiti del Test Finale di Valutazione

  1. Come si calcola con il Freemat l’ampiezza del “buco” esistente tra i numeri macchina consecutivi \({1.000000000000000 e 1.000000000000001}\)? Scegli un’alternativa.
  • a. Utilizzando la function eps
  • b. Si calcola la differenza \({1.000000000000001-1.000000000000000}\)
  1. Quali sono le \({3}\) conseguenze dell’utilizzo di un’aritmetica finita per rappresentare i numeri su un calcolatore? Scegli un’alternativa:
    • a.
      • L’insieme dei numeri rappresentabili è limitato inferiormente e superiormente
      • L’insieme dei numeri rappresentabili è denso
      • Si generano errori nei calcoli
    • b.
      • L’insieme dei numeri rappresentabili è limitato inferiormente ma illimitato superiormente
      • L’insieme dei numeri rappresentabili è “bucato”
      • Valgono sempre le proprietà delle operazioni aritmetiche
    • c.
      • L’insieme dei numeri rappresentabili è limitato inferiormente e superiormente
      • L’insieme dei numeri rappresentabili è “bucato”
      • Si generano errori nei calcoli
  2. Qual è il valore dell’esponenziale nel punto \({10.7}\), cioè \({e^{10.7}}\)? Qual è il numero complessivo di iterazioni effettuate dalla procedura più ottimale? Scegli un’alternativa:
    • a. Il valore è \({4.43558551302979e+004}\). Il numero delle iterazioni è \({20}\)
    • b. Il valore è \({4.43558551302979e+004}\). Il numero delle iterazioni è \({54}\)
    • c. Il valore è \({4.43558551302979e+004}\). Il numero delle iterazioni è \({34}\)
    • d. Il valore è \({5.43558551302979e+004}\). Il numero delle iterazioni è \({44}\)
  3. Con quante cifre decimali corrette il numero \({A=12.345512}\) approssima il numero \({a=12.34567}\)?Scegli un’alternativa:
    1. a. \({3}\)
    2. b. \({4}\)
  4. Qual è la rappresentazione normalizzata del numero \({92.25}\)? Scegli un’alternativa:
    • a. \({ 0.9225 \ 10^2}\)
    • b. \({0.9225 \ 10^3}\)
    • c. \({9.225 \ 10^2}\)
  5. Siano \({a=0.12345}\) e \({A=0.123399}\). Qual è l’errore relativo che si commette approssimando \({a}\) con \({A}\)? Scegli un’alternativa:
    • a. \({5.10000000000094e-005}\)
    • b. \({4.13122721749772e-004}\)
  6. Che valore assume il polinomio

    \(\displaystyle 37x^{12}+10x^9-\frac 8{10}x^7-x^3+2x^2+2\)

    nel punto \({\frac 12}\)?

    Scegli un’alternativa:

    • a. \({3.397314453125125e+1}\)
    • b. \({2.397314453125}\)
  7. Quali dei seguenti numeri possono essere rappresentati esattamente su un calcolatore basato su un’aritmentica in doppia precisione? Scegli una o più alternative:
    • a. \({-0.52874895 10^{+80}}\)
    • c. \({1.555566666958652415657858298}\)
    • d. \({12.2356 10^{+400}}\)
    • e. \({0.152687}\)
    • f. \({-0.5226875989 10^{-380}}\)
  8. Qual è il corretto arrotondamento del numero \({0.1235677891236746467856}\) a \({6}\) cifre significative? Scegli un’alternativa:
    • a. \({0.12356778}\)
    • b. \({0.123568}\)
    • c. \({0.123567}\)
  9. Quali delle seguenti ben note proprietà dell’aritmetica infinita non valgono quando si lavora su un calcolatore? Scegli una o più alternative:
    • a. \({a b=0}\) se e soltanto se \({a=0}\) oppure \({b=0}\)
    • b. Proprietà associativa
    • c. Proprietà commutativa
    • d. L’elemento neutro del prodotto è unico
    • e. Proprieta distributiva
    • f. L’elemento neutro della somma è unico

 

Clicca qui per scaricare questo articolo in pdf

Autore dell'articolo: Maria Carmela De Bonis

Lascia un commento

This site uses Akismet to reduce spam. Learn how your comment data is processed.