L'uso del free software online per fare matematica

Stage per gli studenti della scuola secondaria - DiMa - Carlo Dapueto

http://macosa.dima.unige.it/stage/2022.htm

Faremo qualche esempio di impiego, in matematica e nella altre discipline, di software libero e affidabile.  Nel documento che segue le parti sottolineate sono da "cliccare".  Dopo che avremo aperto con un clic un nuovo file, finita la sua lettura, lo chiudiamo, tornando a questo doumento.

——————— (1) ———————

I mezzi di calcolo sono entrati prepotentemente nelle vita quotidiana di moltissime persone agli inizi degli anni '70 (50 anni fa).  All'inizio si diffusero le prime calcolatrici scientifiche.  Esse consentirono di implementare e rendere praticabili da un ampio pubblico prime procedure di calcolo, legate a varie aree della matematica.  Un esempio:  l'area tra l'asse delle ascisse e una parabola con asse di simmetria verticale e concavità verso il basso, studiata, qui, con un semplice programmino al computer, simulando quanto era fattibile con tali calcolatrici:

area parabola

Una prima osservazione. Dopo un po' otteniamo:
        133.33333333332146   se  n=67108864
        133.33333333333874   se  n=33554432
        133.33333333333303   se  n=16777216
        133.33333333333587   se  n=8388608

All'aumentare del numero delle prove prima o poi le uscite tendono a scostarsi dal valore esatto (che in questo caso particolare sappiamo essere 133+1/3). Questo pone l'esigenza di fare qualche riflessione sul calcolo approssimato (quando e come fermare l'algoritmo, come arrotondare il risultato, …).

Tutto ciò ebbe come ricaduta un rinnovamento dei programmi scolastici, introducendo l'uso dei mezzi di calcolo, riflessioni semplici di "calcolo numerico", modi nuovi di introdurre i concetti matematici tradizionali, … e la necessità di buttare a mare gran parte delle cose macchinose che un tempo si facevano a mano. I primi programmi che hanno introdotto questi temi a partire dalla scuola di base risalgono al 1979  (ma nella pratica didattica …!).

——————— (2) ———————

Per quanto riguarda la geometria, il passo decisivo fu la diffusione (alla fine degli anni '70) dei primi personal computer.

Poi si sviluppò Internet (in Italia a partire dal 1986), nacque la possibilità di costruire e diffondere via rete documenti e immagini animate.  Qualche (altra) immagine, per dare idea del modo in cui le animazioni sono intervenute in vari ambiti dell'insegnamento:

  congettura           dimostrazione


         

Le animazioni sono figure in movimento, che funzionano essenzialmente come in un film:  sono fotogrammi giustapposti e intervallati con un opportuno tempo.

[che curve sono queste 3? come potresti caratterizzare il punto che si muove rispetto ai punti fissati?]

——————— (3) ———————

Possiamo fermarci qui, per avere un'idea di quando sono stati progettati i dispositivi che ora siamo abituati ad usare quotidianamente.

Tutti i dispositivi a cui abbiamo accennato hanno incorporata molta matematica.
Consideriamo il programmino per calcolare l'area tra una parabola e l'asse x considerato sopra, con cui abbiamo simulato una calcolatrice scientifica. È realizzato in JavaScript (JS), un linguaggio di programmazione incorporato in tutti i browser, ossia i vari software (Internet Explorer, Mozilla Firefox, Microsoft Edge, Safari, …) con cui si naviga sul web. Sono simili a JS i vari linguaggi (incorporati nei browser o nel sistema operativo) con cui sono realizzati i programmi per prenotare e pagare un viaggio in treno o la partecipazione ad un certo spettacolo o … (questi linguaggi vengono chiamati "di scripting"). Vediamone un esempio più semplice.

costo fontina

Potrei vedere il testo del programma (scritto nel linguaggio "html" dei browser) aprendo il seguente file in un programma per la lettura di testi  [qui, in ambiente Windows, lo aprirei con BloccoNote (o NotePad); attiverei il programma e aprirei il file  http://macosa.dima.unige.it/stage/fontina.htm - chi vuole potrà aprire il file in un secondo tempo].
Ecco cosa vedrei (" " introduce un ulteriore spazio bianco"; i comandi sono racchiusi tra parentesi angolari; "i" e "b" sono i comandi per il "corsivo" - o "italic" - e il "grassetto" - o "bold"):

<html><head><title>costo fontina in g</title>
<script> window.focus();
function F(x) { return Math.round(x*2.25)/100 }
function Calcola() 
{ q=Number(document.dati.quanta.value); document.dati.costo.value=F(q) }
</script></head>

<body style="font-family:Times New Roman; font-size:150%">
<center><b>COSTO DELLA FONTINA<br><br>
<form name="dati">
<i>grammi:</i> <input type="text" name="quanta" value="0" size=6 style="font-size:100%">
&nbsp; <input type="button" value="CLICCA" onClick="Calcola()" style="font-size:100%"> &nbsp;
<i>euro:</i> <input type="text" name="costo" value="0" size=6  style="font-size:100%">
<br></b></center>
</body></html>

In questo caso la matematica  (oltre ad essere presente nell'uso del linguaggio di programmazione)  è presente nel comando round(x*2.25)/100  ["round" = "arrotonda"].

Un altro esempio. Calcoliamo i divisori di 10000001:

divisori

Ottengo in pochi secondi:  1  11  909091  10000001.

Oltre agli "script", incorporati in tutti i browser (anche dei cellulari), esistono altri software gratuiti. Il più diffuso, e che consente di risolvere facilmente quasi ogni problema matematico, è WolframAlpha. Vediamone l'uso per lo stesso calcolo visto sopra.

Apro www.WolframAlpha.com e introduco  divisors 10000001

Prova anche con  divisors 100000011 (aggiungi un "1").

——————— (4) ———————

A)  Il primo strumento matematico ideato dagli uomini è l'istogramma, inizialmente realizzato tracciando delle tacche sulle pietre o sui tronchi d'albero.  Anche oggi gli istogrammi a crocette sono (o dovrebbero essere) i primi strumenti da avviare nella scuola dell'infanzia.  Vediamo come gli istogrammi possono essere realizzati facilmente (a partire dalla scuola di base) con uno script.  Un semplice esempio:
In una stagione invernale si registramo 31 giorni di tempo sereno, 36 di variabile, 30 di coperto, 16 di pioggia, 5 di neve.

Clicca istogramma e introduci gli input
 

B)  Un'altra delle prime attività matematiche.

Clicca media e prova ad usare questo script

C)  Il computer è diventato fondamentale per affrontare parecchie attività che, a mano, compoterebbero l'impiego di parecchio tempo, e non solo in campo matematico. Un semplice esempio.

Copia le seguenti parole (seleziona da "lucia" a "bianca" e aziona "copia" col mouse),  clicca ordina,  incolla le parole nel primo box  e, poi,  clicca [ordered]:

lucia, renzo, alfio, nino, sofia, claudia, luca, bruno, silvia, dario, lina, anna, maria, elio, paolo, mara, ugo, tito, eva, iole, fabio, sara, nadia, duccio, ivo, ada, lia, piero, valter, gaia, oscar, luigi, rina, ambra, nora, sergio, claudio, diego, mario, luisa, valeria, bianca

Come fa lo script a mettere in ordine le parole?

D)  Oltre che istogrammi di dati classificati se ne possono realizzare di dati da ordinare e classificare.  Un esempio:  le lunghezze, in centimetri, di parecchi semi di fava (messi insieme e misurati dagli alunni di una classe):

1.35, 1.65, 1.80, 1.40, 1.65, 1.80, 1.40, 1.65, 1.85, 1.40, 1.65, 1.85, 1.50, 1.65, 1.90, 1.50, 1.65, 1.90, 1.50, 1.65, 1.90, 1.50, 1.70, 1.90, 1.50, 1.70, 1.90, 1.50, 1.70, 2.25, 1.55, 1.70, 1.55, 1.70, 1.55, 1.70, 1.60, 1.70, 1.60, 1.75, 1.60, 1.75, 1.60, 1.80, 1.60, 1.80, 1.60, 1.80, 1.60, 1.80, 1.00, 1.55, 1.70, 1.75, 1.30, 1.55, 1.70, 1.75, 1.40, 1.60, 1.70, 1.75, 1.40, 1.60, 1.70, 1.80, 1.40, 1.60, 1.70, 1.80, 1.40, 1.60, 1.70, 1.80, 1.40, 1.60, 1.70, 1.80, 1.40, 1.60, 1.70, 1.80, 1.40, 1.60, 1.70, 1.80, 1.40, 1.60, 1.70, 1.80, 1.45, 1.60, 1.70, 1.80, 1.50, 1.60, 1.70, 1.80, 1.50, 1.60, 1.70, 1.85, 1.50, 1.60, 1.70, 1.85, 1.50, 1.60, 1.75, 1.90, 1.50, 1.60, 1.75, 1.90, 1.50, 1.65, 1.75, 1.90, 1.55, 1.65, 1.75, 1.95, 1.55, 1.65, 1.75, 2.00, 1.55, 1.65, 1.75, 2.30, 1.35, 1.65, 1.80, 1.40, 1.65, 1.80, 1.40, 1.65, 1.85, 1.40, 1.65, 1.85, 1.50, 1.65, 1.90, 1.50, 1.65, 1.90, 1.50, 1.65, 1.90, 1.50, 1.70, 1.90, 1.50, 1.70, 1.90, 1.50, 1.70, 2.25, 1.55, 1.70, 1.55, 1.70, 1.55, 1.70, 1.60, 1.70, 1.60, 1.75, 1.60, 1.75, 1.60, 1.80, 1.60, 1.80, 1.60, 1.80, 1.60, 1.80, 1.00, 1.55, 1.70, 1.75, 1.30, 1.55, 1.70, 1.75, 1.40, 1.60, 1.70, 1.75, 1.40, 1.60, 1.70, 1.80, 1.40, 1.60, 1.70, 1.80, 1.40, 1.60, 1.70, 1.80, 1.40, 1.60, 1.70, 1.80, 1.40, 1.60, 1.70, 1.80, 1.40, 1.60, 1.70, 1.80, 1.40, 1.60, 1.70, 1.80, 1.45, 1.60, 1.70, 1.80, 1.50, 1.60, 1.70, 1.80, 1.50, 1.60, 1.70, 1.85, 1.50, 1.60, 1.70, 1.85, 1.50, 1.60, 1.75, 1.90, 1.50, 1.60, 1.75, 1.90, 1.50, 1.65, 1.75, 1.90, 1.55, 1.65, 1.75, 1.95, 1.55, 1.65, 1.75, 2.00, 1.55, 1.65, 1.75, 2.30

Copia i precedenti dati (seleziona da "1.35" a "2.30" e aziona "copia" col mouse),  clicca istogramma,  incolla i dati nel primo box,  clicca [Enter],  clicca [min], [max], [median], [mean],  poi metti 1 in [A], 2.4 in [B], e clicca [histogram]:


A = 1   B = 2.4   intervals = 14   their width = 0.1   n=260   min=1   max=2.3
median=1.65   1^|3^ quartile=1.55|1.75   mean=1.6592307692308

Che cos'è la mediana?  Che cosa sono i quartili?

E)  Tutti i calcoli aritmetici, affrontabili facilmente a mano, ma a volte non "velocemente" e con possibilità di commettere errori di calcolo, sono scaricabili su degli script.

Un esempio:  semplifica la frazione 420/378 con  semplificare frazioni

F)  I molti programmi per disegnare sono basati sul tracciamento di singoli punti. Anche le fotografie che appaiono sul computer, se le zommiamo, ci appaiono come insiemi di singoli punti (o, meglio, quadratini - o, in qualche caso, rettangolini), diversamente colorati:

       

Il software memorizza le coordinate dei singoli punti (pixels) e, per ognuno di essi, un numero che ne rappresenta il colore. Anche qui entra in gioco la matematica.

Lo script  disegnare  dà un'idea di come sono realizzate le immgini.
È molto semplice.
Prova ad usarlo per tracciare una figura simile a quella a fianco.
  

      G)  Si possono tracciare con semplici script triangoli, parabole, iperboli, …   Un esempio.

Apri lo script  parabole  e, utlizzando i comandi indicati, prova ad ottenere l'immagine qui a sinistra.

H)  Come calcolare l'area di un poligono.   Un esempio.

Impiegando lo script  areapol  calcola area e perimetro del poligono disegnato a fianco, di cui qui sotto trovi le coordinate dei vertici
 
x:       0.5, 1, 4, 4.5, 3, 4.5, 2, 0
y:     0, 0, 1, 2.5, 3, 3.5, 4.5, 2.5
 
Che cosa rappresenta il punto tracciato?  Ha senso parlare di angoli "esterni" di un poligono, di cui si parla in qualche libro di testo?
    

0 ≤ x ≤ 5,  0 ≤ y ≤ 5

[ osserviamo, senza tracciare la figura - potete farlo in un secondo tempo - che il poligono potrebbe essere disegnato con questo script con i comandi (da copiare e incollare, seguiti da un punto e virgola o uno spazio bianco):
,&5&a &5&1 v&30&a&10&bw v&5&a&15&bw v&15&c&5&bw v&15&a&5&bw v&25&c&10&bw &20&7 v&5&a&25&dw ,&21&a&22&b @   ]

[ per gli angoli "esterni" vedi qui
per il punto tracciato vedi qui (e qui)]

I)  Dati 3 elementi (tra angoli e lati) di un triangolo posso determinarne gli altri con uno script.  Vediamo ad esempio il caso in cui conosco i tre lati.

Usa lo script  SideSideSide  per trovare gli angoli di un triangolo in cui i lati sono 27, 45 e 36.
    
[ per altri casi vedi qui ]

J)  Un altro esempio (apparentemente) non matematico.  I codici segreti.
Lo script che vedremo consente di trasformare una "stringa" (cioè una sequenza di caratteri) in un modo che sembra casuale, ma che in realtà dipende da un numero "chiave". Conoscendo la chiave scelta, dalla "codifica" si può risalire alla stringa originale.

Clicca codifica e introduci il numero di codice (2020 o 2021 o 2022 o …: prova) per risalire dalla codifica seguente al messaggio originale:

/IdHT'K42o8^U6gZOyMpv9vhQ Us!F*3R!9* /Kl3:WX4F''y0+ApZ'3p

K)  Ecco un script che realizza una efficace calcolatrice scientifica.  Tra le molte cose, consente di operare su un sequenza di numeri, da introdurre dove indica la freccia:

170, 238, 102, 153, 255, 85, 187, 119

Copia questa sequenza di numeri e incollala nella calcolatrice.  Poi clicca:
[n]   [max]   [min]   [sum]   [mul]   [DiMu]  e (messo 17 in Q)  [data/Q]

Che cosa calcola [DiMu]?  Che cosa produce [data/Q]?

L)  Nella realtà le misure "esatte" non esistono.  Si ha sempre a che fare con approssimazioni. Un esempio.
So che la rapida salita disegnata a fianco avanza orizzontalmente di 400±3 cm e che si innalza di 200±2 cm. Usando questo script calcola, arrotondata opportunamente, la pendenza della salita.

  

2.000 +/- 0.035

 
M)  Vediamo, su un semplice esempio, come, con degli script, si possono trovare le soluzioni di un'equazione F(x) = 0, trovare il minimo di una funzione F, calcolare l'area tra grafico di F ed asse x.  La funzione F è  x → 23*x*x - 37*x + 1.  A destra il suo grafico.

Risolvi l'equazione con  semplici equazioni

  

Trovate le soluzioni (0.0274970267301897 e 1.5811986254437234) in questo caso possiamo trovare l'ascissa del punto di minimo facendone la media;  potremmo trovarla anche cercando dove si annulla la derivata della funzione.  In generale potremmo trovarlo con lo script min .  Fallo, esprimendo la ascissa arrotondata con 5 cifre.


0.80435

Per trovare l'area tra il grafico di una funzione e l'asse x si usa uno strumento matematico, che forse avrai già studiato, che si chiama integrale. Esso valuta positivamente l'area delle parti di grafico sopra l'asse x e negativamente quelle al di sotto.  Con lo script integrale valuta l'area rappresentata sopra in figura arrotondata con 8 cifre decimali (sotto l'esito per n=1e3=1000, prova con n=1e4, n=1e5).

[il grafico della funzione è stato tracciato con lo questo script]
 

Il simbolo  abf  rappresenta l'integrale della funzione f tra a e b.

[il simbolo è una S allungata, in quanto l'integrale si ottiene sommando l'area di un numero crescente di rettangolini che approssimano la figura, come abbiamo fatto nell'esempio visto all'inizio]

N)  Ancora un esempio: l'individuazione del "trend" del legame tra due grandezze di tipo economico, sociale, … che può essere lineare, quadratico, esponenziale, … Vediamo un semplice esempio.  Voglio studiare il legame tra la distanza DS lungo la strada e quella DA in linea d'aria di Genova dalle altre località dell'Italia Settentrionale. Se rappresento graficamente i dati relativi alle principali località vedo che posso approssimare i punti corrispondenti con una retta.  Come scegliere e individuare questa retta?  Posso scegliere la retta che minimizza in qualche modo la distanza dai punti.  Senza entrare nei dettagli (che coinvolgono l'impiego del concetto matematico chiamato "derivata") vediamo come individuare tale retta con uno script:  clicca  linear regression  e introduci i dati sotto riportati, le x (55, 70, …) nella parte superiore, le y (85, 115, …) nella parte inferiore.

Link between distance in a crow line from Genoa to the provincial capitals of Piedmont, Lombardy and Veneto and distance along the road:
55, 70, 155, 160, 155, 115, 105, 165, 110, 115, 85, 165, 110, 155, 105
85, 115, 205, 230, 185, 185, 145, 240, 140, 155, 125, 290, 170, 195, 135
linear regression with (0,0) as "fixed point"

[ per il grafico, vedi qui ]

La strada è lunga circa 1.4 volte la distanza in linea d'aria.

Il coefficiente di correlazione è un numero che esprime l'allineamento dei punti: è tanto più vicino ad 1 quanto più essi sono allineati lungo una retta crescente.

 

——————— (5) ———————

Gli script visti sopra, ed altri analoghi, hanno il vantaggio di essere di facile esecuzione, e di essere scaricabili sul proprio computer, da cui possono essere eseguiti liberamente, oltre ad essere eventualmente modificati.

Facciamo ora un cenno alle molte cose che si possono fare con WolframAlpha.

O)  Partiamo dall'esempio affrontato in M).

Apri  www.WolframAlpha.com  e introduci:
area between  y = 23*x*x - 37*x + 1,  y = 0 

Ottieni:

Il calcolo numerico discusso in M con 1e6 passi produceva l'approssimazione 14.37736914172541. Il valore esatto ottenuto in questo modo è 14.377369141718714151630358… (13 cifre erano buone).

P)  Restando in WolframAlpha introduci geometry

Clicca "Plane Geometry" ed esplora a che cosa si accede.
  

Q)  Restando in WolframAlpha introduci  plot y^2+x^2-x=1, y=x^2, y^2=x, y=0, x=0

R)  Si possono recuperare anche informazioni statistiche. Introduci:
students secondary school in Italy

S)  ... e si possono recuperare informazioni su quasi ogni tema. Introduci:     music

——————— (6) ———————

Se volete vedere altri esempi relativi sia agli script online che a WolframAlpha potete cliccare QUI.

Se volete vedere altri esempi ed esercizi (di matematica, fisica ed altre aree scientifiche) potete cliccare QUI.

Se volete, potete, poi, inviarmi dei messaggi di posta elettronica:  dapueto@dima.unige.it

Potete anche scrivermi direttamente usando uno script cliccando QUI.