La automazione
Dalle macchine semplici alle macchine programmabili

Scheda 2
Le calcolatrici

0. Introduzione
1. Come sono memorizzati i numeri
2. Composizione di funzioni - Funzioni inverse - Radice quadrata - Altri tasti funzione
3. Esercizi
Sintesi

 

0. Introduzione

    In questa scheda approfondiremo lo studio del funzionamento delle calcolatrici e delle proprietà di alcune funzioni.

1. Come sono memorizzati i numeri

    Le calcolatrici usano dei dispositivi interni (registri di lavoro), che esse gestiscono automaticamente, senza intervento diretto dell'utente, per memorizzare i numeri e le operazioni battute dall'utente.
    Se su una CT con visore a 8 cifre si batte  1.2345678 [×] 1.2345678 [=]  invece del risultato esatto 1.52415765279684 si ottiene 1.5241577 se la CT arrotonda, 1.5241576 se tronca.
    Se si batte 12345678 [×] 12345678 sul visore compare 1.5242 E 14. Il risultato è stato arrotondato a sole 5 cifre significative per far spazio all'esponente di 10. Ma all'interno, in un registro di lavoro, la CT memorizza tutte le cifre, come nel caso precedente:
il numero è interpretato in notazione scientifica come 1.5241577·1014 e vengono memorizzati separatamente 1.5241577 e 14.

    I numeri-macchina di una CT, cioè i numeri che essa è in grado di memorizzare nei registri di lavoro, hanno un minimo positivo (1.000…·10-99) e un massimo positivo (9.999…· 1099), detto infinito-macchina, e sono in quantità finita.

    I registri di lavoro sono costituiti da sequenze di particolari dispositivi elettronici, simili a interruttori, detti flip-flop, che, sotto l'azione di impulsi elettrici, possono assumere due sole posizioni.  Indicando con 0 e 1 i due stati che può assumere un flip-flop, possiamo dire che le informazioni vengono codificate impiegando l'alfabeto 0, 1.

   

    Questi due simboli sono detti bit.  La parola deriva dall'inglese "binary digit":  cifra binaria, cioè cifra impiegata nella notazione numerica a due cifre.  Ecco come vengono rappresentati in forma binaria i primi dieci numeri interi non negativi:

012345 6789
0000000100100011010001010110011110001001

    I registri di una CT che arrotonda a 8 cifre e che sta visualizzando il nostro numero sono organizzati così  (0 ed 1 per il segno, "-" e "+";  rappresentazione binaria delle cifre decimali):

+

1

5

2

4

1

5

7

7

+

1

4

1

0001

0101

0010

0100

0001

0101

0111

0111

1

0001

0100

    A differenza di quanto avviene nelle usuali CT, gran parte delle applicazioni per computer memorizzano i valori numerici in forma binaria, non solo le loro cifre.  Mentre nelle usuali CT il numero dieci è registrato come  0001 0000  (cifra 1 → 0001, cifra 0 → 0000), nei computer viene registrato come  1010:  dopo 9, rappresentato da 1001, dieci viene rappresentato come 1010.  Non ci addentriamo nell'argomento, che verrà ripreso più avanti.  Ci limitiamo ad osservare che i numeri frazionari non vengono rappresentati fedelmente passando dalla forma decimale a quella binaria, e questo può dar luogo a delle uscite apparentemente strane. Questo accade per tutti i programmi sui computer, e accade anche per le "nostre" calcolatrici:

piccola CT   grande CT

    Vediamo degli esempi. Le "nostre" CT hanno una capacità di memorizzazione maggiore delle usuali, per cui 12345678·12345678 viene memorizzato per esteso, con tutte le cifre esatte:  152415765279684.  Ma di fronte a  843.27-843.23, con la "grande CT" invece di 0.04 otteniamo  0.03999999999996362.

    Sembra un "errore", ma se arrotondiamo il numero con qualche cifra in meno ci appare come 0.04.  Del resto la "piccola CT" visualizza 0.04 se non facciamo arrotondare il risultato con più di 13 cifre; se scegliamo 17 cifre viene visualizzato anche da essa 0.03999999999996362.
    Anche diverse applicazioni (come i codiddetti "fogli di calcolo") ci farebbero apparire sul visore 0.04 ma in realtà "dentro" hanno registrato il numero come 0.03999999999996362 o qualcosa di simile. Infatti se facciamo eseguire ad esse il calcolo di "=(843,27-843,23)-0,04" (o con "," al poso di "." se abbiamo il foglio di calcolo impostato alla "italiana") otterremmo sul visore -3.63806E-14 invece di 0  (questi esiti dei fogli di calcolo sono stati spesso fonti di clamorosi errori, anche presso alcune banche).
    In realtà quando si esegue un calcolo anche le usuali calcolatrici commettono "errori", dovuti alle approssimazioni dei calcoli via via effettuati, dovuti al fatto che comunque operano con un numero limitato di cifre. Su tutti questi aspetti ritorneremo successivamente.
    La cosa, comunque, per ora non ci deve preoccupare eccessivamente:  i risultati dobbiamo sempre arrotondarli con poche cifre.

 1 
    Esegui con una delle due "nostre" calcolatrici il calcolo di √3 e poi moltiplica il risultato ottenuto per sé stesso. Riottieni 3 o un numero diverso? Come è possibile ciò?

2. Funzioni a più input ed output - Composizione di funzioni - Funzioni inverse - Radice quadrata

    Nella scheda Le statistiche - 2 abbiamo considerato le funzioni da un input e 1 output numerici.  Ma sono funzioni tutti gli "oggetti" matematici che associano ad 1 o più input 1 o più output.  Facciamo un primo esempio.  Se nella calcolatrice "grande" considerata sopra introduco l'input:  100, -3.15, 7.33, 9.17, 33  e poi clicco i bottoni sotto indicati ottengo:

    Abbiamo calcolato diverse funzioni che ad una sequenza di input hanno associato come output la quantità degli input, il loro massimo, il loro minimo e la loro somma.

    Consideriamo quest'altro script e introduciamo gli stessi input:

ordinamento 

    Cliccando "ordina" abbiamo ottenuto tanti output quanti gli input, ma messi in ordine.

  

    Ma su una qualunque calcolatrice, oltre a funzioni ad 1 input come la "radice quadrata", abbiamo funzioni a 2 input, come ad esempio le cosiddette 4 operazioni, in cui l'output può essere ottenuto con un semplice calcolo.

    Gran parte delle funzioni che si usano sono costruite ricorrendo alla composizione delle quattro operazioni. Ad es. (vedi figura a sinistra) la media tra due numeri è ottenuta componendo una addizione e una divisione per 2.

Nota.  La parola "operazione" è spesso usata in matematica per indicare funzioni che hanno input ed output appartenenti allo stesso insieme (l'addizione, a due input e un output, il cambio segno, a un input e un output, la divisione intera con resto, a due input e due output, …), ma anche altri tipi particolari di funzioni, che, eventualmente, incontrerai nella prosecuzione degli studi.

    Se una funzione viene indicata con un certo nome, gli output corrispondenti a certi input vengono espressi usando il nome seguito da parentesi che racchiudono gli input.  Ad esempio nel caso precedente, se indico la funzione con la lettera G, posso indicare l'output corrispondete agli input a e b, ossia (a+b)/2, con  G(a,b).  Se con H(x) indico √x, posso scrivere H(9) = 3.

    Se a un input w la funzione F associa  [non associa]  un output si dice che F è  [non è]  definita in w  o che  il termine F(w) è definito  [indefinito].  Nel caso della H sopra considerata possiamo dire che H(9), cioè √9, è definito e che H(-9), cioè √-9, è indefinito.  L'insieme degli input in cui F è definita si dice insieme di definizione (o dominio) di F.
    Nel caso di H il dominio è l'insieme di tutti i numeri non negativi.  Se K(x,y) = x/y, il dominio di K sono le coppie (x,y) dove x è un numero qualunque e y è un numero diverso da 0.

    Nel grafico a fianco sono rappresentate 3 funzioni:  f1: x → x²f2: x → √xf3: x → -√x.
    Sono evidenziati anche alcuni punti, ad esempio il punto (1,1) che appartiene sia al grafico di f1 (infatti 1² = 1) che a quello di f2 (infatti √1 = 1).  O il punto (4,2), che appartiene solo al grafico di f2 (√4 = 2).  Il punto (1,-1) appartiene invece solo al grafico di f3 (-√1 = -1).
    La curva che è il grafico di f1 si chiama parabola. È una parabola anche la curva ottenuta mettendo insieme i grafici di f2 e f3.

 2 
    Se prendo 4, calcolo f2 e al risultato ottenuto applico f1 che cosa ottengo?   E se prendo 2, calcolo f1 e al risultato ottenuto applico f2 che cosa ottengo?   E se prendo -2, calcolo f1 e al risultato ottenuto applico f2 che cosa ottengo?

   

    La radice quadrata composta con l'elevamento al quadrato restituisce l'input iniziale.  Scambiando l'ordine delle due funzioni ciò continua ad accadere per gli input non negativi, mentre per quelli negativi si ottiene come output il loro opposto:

    La funzione rappresentata dal secondo diagramma, x → √x², ad un input associa il suo valore assoluto.  Il valore assoluto di x viene in genere indicato con la scrittura  |x|  o con  abs(x).  A volte viene chiamato modulo di x.

      

    Due funzioni f e g vengono dette una funzione inversa dell'altra se applicando g a un output di f riottengo l'input che avevo dato a f e, viceversa, se applicando f a un output di g riottengo l'input che avevo dato a g:  vedi figura a lato.

    Le funzioni  x → x·1.25  e  x → x·0.8  sono dunque una l'inversa dell'altra.

    Più in generale sono tali le funzioni  x → x·k  e  x → x·(1/k)  (cioè x → x/k).

    Le funzioni "radice quadrata" e "elevamento al quadrato" considerate sopra non sono una l'inversa dell'altra in quanto, come si vede nella figura sopra a destra, se parto da -2 e applico prima l'elevamento al quadrato e poi la radice quadrata non riottengo -2.  La funzione radice quadrata e la funzione elevamento al quadrato "ristretta" agli input non negativi (g e f nella figura qui a destra) sono invece l'una l'inversa dell'altra.

     

3. Esercizi

In alcuni dei seguenti esercizi si richiede di utilizzare lo script per tracciare grafici già considerato in schede precdenti:

function f(x) { y = ...; return y }
function g(x) { y = 1/0; return y }  // puoi definire altre funzioni
function h(x) { y = 1/0; return y }  // you can define other funcions
function k(x) { y = 1/0; return y }

aX = ...; bX = ...; aY = ...; bY = ...
Dx = ...; Dy = ...

Nota: i nomi di funzione ["abs" (valore assoluto), "sqrt" (radice quadrata), …] devono essere preceduti da "Math.". Vedi.

 e1 
    Ciascuno dei due schemi a fianco rappresenta la composizione di due funzioni f e g.
    Scegliendo tra: x → x+5, x → x·2, x → x3, stabilisci che cosa sono f e g nei due casi.
      schema A     f: x → …         g: x → …
      schema B     f: x → …         g: x → …
     
(A) 
(B)

 e2 
    Completa gli schemi a fianco dando il nome giusto (f o g) a ciascuna "scatola", sapendo che:
          f: x → 3+x         g: x → x2
    

 e3 
    Completa gli schemi a fianco dando il nome giusto (f o g) a ciascuna "scatola", sapendo che:
          f: x → 3·x         g: x → 2·x + 1
    

 e4 

    Qui sotto sono riprodotti parzialmente 3 grafici.

(a)  Quali dei tre grafici rappresentano delle funzioni a 1 input e 1 output, cioè in quali casi ad ogni x corrisponde al più un y?

(b)  I tre grafici rappresentano le relazioni indicate a fianco.   Associa ad ogni relazione il grafico corrispondente.

(c)  Quale tra le precedenti relazioni può essere scritta nella forma y = √x?

(d)  Qual è l'insieme di definizione delle due relazioni che sono anche funzioni xy?

   
(1) x = y2
(2)y = x2
(3)x = y2, y ≥ 0

 e5 
    Puoi ottenere la figura B del quesito e4 come grafico di un'unica funzione? Usa opportunamente lo script richiamato all'inizio degli esercizi per ottenere tale figura.

 e6 
    Traccia, utilizzando opportunamente lo script richiamato all'inizio degli esercizi, i grafici della funzione identità (che restituisce un output uguale all'input), della funzione reciproco (che restituisce un output uguale al reciproco dell'input) e il grafico della funzione cambio-segno (che restituisce un output uguale all'opposto dell'input), in modo da ottenere una rappresentazione simile a quella qui a destra.
    Se uno di questi grafici passa per il punto (a,b), secondo te passa anche per il punto (b,a)? [prova con qualche esempio]

  

 e7 
    «La funzione reciproco e la funzione cambio-segno hanno la proprietà di coincidere con la loro funzione inversa».  Prova a spiegare e motivare questa affermazione.

 e8 
    Traccia i grafici di f e g nei casi seguenti e prova a concludere se f(x) e g(x) sono termini equivalenti.
(1f(x) = abs(x)g(x) = sqrt(x^2)(2f(x) = abs(x)g(x) = abs(-x)
(3)f(x) = abs(x+2)g(x) = abs(x)+2(4)f(x) = (x+1)*xg(x) = x*x+x
(5)f(x) = 3/x*xg(x) = 3/x^2(6)f(x) = (3/x)^2g(x) = 3/x^2

 e9 
    Consideriamo l'operazione di composizione di funzioni, cioè quella che prese due funzioni F e G le trasforma nella funzione composta G(F(.)) ("G di F") che a x associa G(F(x)): trasforma x con F e poi applica G (per questo la funzione viene letta anche come "F composto G").
    Si tratta di un'operazione commutativa, cioè "G composto F" è uguale a "F composto G"?

 e10 

   (a)  Usando la nostra grande CT parova a calcolare  2^0.5  e confronta il risultato con quello del calcolo di √2. Ripeti la prova con numeri diversi da 2. Che cosa puoi ipotizzare circa il valore di a0.5?

     
(b)  Sappiamo che am·an = am+n se m e n sono numeri interi.  Se vogliamo che questa equazione sia vera anche quando m e n non sono interi, dobbiamo avere in particolare: a0.5·a0.5 = a1 = a. Come puoi collegare questa conclusione con quanto visto in (a)?
(c)  Una persona vuole costruire una cisterna di forma cubica che abbia il volume di 10 m3. Sapendo che il volume del cubo è lato·lato·lato, cioè lato3, la persona per trovare la misura in metri dello spigolo della cisterna si propone di calcolare il numero che elevato alla 3a faccia 10. Per far ciò prima usa 3 , poi calcola 10^B dove B è il risultato del calcolo precedente, ottenendo sul visore 2.154434690031884. Conclude che lo spigolo della cisterna deve misurare 2 m e 15 cm.  Prova a motivare il procedimento impiegato da questa persona.   [traccia: usa il fatto che am·am·am = am+m+m con m = 1/3]

 

Su un foglio da "quadernone" esemplifica l'uso di ciascuno dei seguenti concetti mediante una frase in cui esso venga impiegato:

   registro di lavoro     numeri macchina     insieme di definizione     composizione di funzioni     funzione inversa   valore assoluto

script:   piccola CT   grande CT   isto   isto con %   striscia   100   60   ordina   Grafici