La automazione
Dalle macchine semplici alle macchine programmabili
Scheda 2
Le calcolatrici tascabili
1. Funzioni a 1 e a 2 input
2. I registri di lavoro e la gerarchia delle operazioni
3. La memoria-utente e i tasti-parentesi
4. I numeri delle CT e la loro codifica interna
5. Altri tasti-funzione - La radice quadrata
6. Composizione di funzioni – Funzioni inverse
7. Esercizi
Sintesi
1. Funzioni a 1 e a 2 input
Prima
di approfondire la conoscenza e l'uso del calcolatore, ci soffermiamo ad
indagare ulteriormente il funzionamento delle calcolatrici tascabili (CT), delle quali abbiamo già fatto uso
numerose volte: si tratta di uno strumento di lavoro d'uso comune (sia a scuola
che nella vita) di cui è opportuno avere una buona padronanza e la cui
conoscenza ci può servire come introduzione allo studio dei calcolatori.
Infatti le CT sono
macchine che registrano ed elaborano le informazioni in maniera simile ai
calcolatori, anche se, in genere, sono in grado di trattare solo dati numerici e non sono programmabili, ma usano solo programmi
incorporati (per chiarezza, useremo
i termini "calcolatori tascabili" o "pocket computer" per
indicare i mezzi di calcolo tascabili e programmabili).
Ad esempio se voglio trovare qual è la percentuale corrispondente a un dodicesimo posso calcolare l'espressione decimale di 1/12 usando il tasto :
batto |
|
premo | ottengo |
|
|||
input | funzione | output |
  Con la sequenza 12 ho comunicato alla CT che deve
operare sul dato 12 mediante la funzione x 1/x che
che trasforma un numero nel
suo reciproco. Per effettuare questa trasformazione la CT deve essere in grado
di registrare il dato che ho introdotto con i tasti "1" e "2" e deve
avere incorporato un programma
per l'esecuzione del calcolo del reciproco.   Il tasto e il tasto sono tasti di funzione a 1 input: dopo la loro pressione viene visualizzato un numero che la CT calcola sulla base di un solo dato di input: il numero che appariva sul visore prima della pressione di o .   Se invece vogliamo calcolare il costo di un prodotto che pesa 2.45 hg e è venduto al prezzo di 1.80 €/hg usiamo il tasto nel modo seguente: |
batto |
|
premo | batto |
|
premo | ottengo |
|
|||||
input | funzione | input | output |
  La moltiplicazione, così come la addizione, la sottrazione e la divisione, sono funzioni a 2 input: l'output viene calcolato sulla base di due dati di input: i 2 numeri che l'utente ha battuto prima e dopo il tasto (o o o ). |
  Gli input di una funzione a volte vengono introdotti direttamente dall'utente, altre volte sono output di funzioni calcolate in precedenza. Ad esempio di fronte a 12·5+9 la CT prima calcola 12·5 e poi calcola 60+9: 60 non viene introdotto dall'utente. |
| Per battere i seguenti termini con una CT, in quali
casi devi usare e in
quali devi usare | |
(1) 3 · 8     (2) 3 8   (3) 3 · 8     (4) 7 5     (5) 9 / 3 |
| Si è rotto il tasto della
tua CT. Come puoi calcolare 12356
usando i tasti e | |
................................... |
  Possiamo quindi dire che la sottrazione è equivalente a una opportuna composizione ( figura a fianco) della funzione cambio-segno e della funzione addizione. |
|
  In formule:     x y = x + (y) [ ques.3]         x / y = x · (1/y) [ ques.4]
| Che cosa ottieni man mano sul visore della CT battendo: 5 ? |
  Per calcolare 75 ( ques.2) occorre battere: 7 5 . Si è visto ( ques.3) che si può fare a meno di battendo 7 5 , cioè calcolando 7 + 5.
| Per quanto visto nel quesito 5 invece di 7 5 potevo battere | ||
cioè calcolare direttamente | ............................. |
Nei
casi della sottrazione e della divisione se si commutano (cioè
scambiano) il 1° e il 2° input si ottiene un output differente (a
meno che 1° e 2° input siano uguali). Nel caso della addizione e
della moltiplicazione l'output non cambia. Per esprimere ciò si usa
dire che addizione e moltiplicazionesoddisfano
la proprietà commutativa
o, più in breve, che sono commutative: una funzione F a 2 input si dice commutativa
quando, comunque si diano a F due input x
e y,
se |
| Molte
CT sono dotate anche del tasto (o ): la sequenza a b fa
calcolare e visualizzare il risultato di ab. Questa funzione a 2 input è commutativa o
no? [nel primo caso spiega il perché, nel secondo caso mostra un "contro-esempio", cioè indica una coppia di input il cui output dipende da quale tra essi si prenda come base e quale come esponente] |
2. I registri di
lavoro e la gerarchia delle operazioni
|
Vediamo che cosa appare sul visore man mano che eseguiamo il calcolo di 12·5+9 con una CT.
Quando premiamo sul
visore si continua ancora a leggere 12; quando battiamo il secondo
termine della moltiplicazione, 5, il numero 12 scompare. Ciò
significa che la CT dopo la battitura di 5, oltre che del 5
stesso, si ricorda del Per far questo deve essere dotata di opportuni dispositivi in cui memorizzare le informazioni che le vengono comunicate attraverso la tastiera (numeri e operazioni). Ce ne saranno almeno due per conservare i termini dell'operazione e uno per conservare (opportunamente codificato) il segno dell'operazione. |
Dopo la pressione di scompare
il 5 e compare il risultato della moltiplicazione, 60. A questo
punto la CT può dimenticare
I dispositivi per la conservazione dei dati vengono chiamati registri (o memorie) di lavoro.
| Batti 1 2 5 . Quale risultato ottieni? E` lo stesso ottenuto dai tuoi compagni? |
L'ultimo esercizio mette in luce che non tutte le CT sono costruite in modo da rispettare le priorità tra le operazioni.
Come sai, il termine 1+2·5 deve essere interpretato come 1+(2·5), cioè il suo valore deve essere calcolato eseguendo le operazioni non "a catena", man mano che vengono incontrate, ma dando la precedenza alla moltiplicazione rispetto alla addizione. Invece 8/2·2, 1/10/2, 92+3, devono essere interpretati come (8/2)·2 [non 8/(2·2)], (1/10)/2 [non 1/(10/2)], (92)+3 [non 9-(2+3)], , cioè devono essere calcolati a catena, in quanto presentano operazioni con uguale livello di priorità.
Invece, alcune CT non danno il risultato 11, ma eseguono il calcolo a catena, cioè calcolano (1+2)·5, dando come risultato 15. Cerchiamo di capirne il motivo.
|
Consideriamo una CT che "non sbaglia". |
|
Consideriamo una CT che "sbaglia". |
Le CT che "sbagliano" in realtà non sbagliano. Si comportano seguendo il programma che è stato incorporato dal costruttore, programma che prevede l'esecuzione dei calcoli a catena: appena viene premuto il tasto o un nuovo tasto di operazione viene eseguita l'operazione precedentemente impostata. Sta all'utente utilizzare la CT rispettandone e sfruttandone al meglio le caratteristiche.
In una CT che "non sbaglia" è invece incorporato un programma più complesso, che effettua dei controlli sui tasti di operazione battuti: quando viene premuto un nuovo tasto di operazione l'operazione precedentemente impostata non viene eseguita se la nuova operazione è prioritaria: se la nuova operazione è "·" o "/" e l'operazione precedentemente introdotta è "+" o "", questa viene tenuta in sospeso in attesa che venga completato il calcolo della nuova operazione.
| Introduci nei termini seguenti (solo quando è necessario) parentesi in modo che una persona che non conosca le "priorità" possa interpretarli correttamente. [il primo termine è già completato come esempio] |
59 + 147 / 7 | 59 + (147 / 7) | |
73 27 + 125 | .................... | |
573 17 · 25 | .................... | |
53 · 12 + 25 | .................... | |
(18 + 37) / 5 + 19 · 3 | .................... |
| Come
è possibile eseguire correttamente il calcolo di 1+2·5
con una calcolatrice dotata di due soli registri di lavoro (senza
fare calcoli a mente o annotarsi o ricordarsi risultati intermedi)? e di 58/4? e di 5/(1+2)? e di 4·3+2·5? [Si tratta di esempi con numeri che consentono il calcolo mentale; in questo modo potete fare più velocemente e facilmente i tentativi e le loro verifiche] |
3. La
memoria-utente e i tasti-parentesi
Per fare un calcolo come a+b/c [o a+b·c] con una CT che non ha incorporata la gerarchia delle operazioni posso usare la proprietà commutativa dell'addizione e trasformare il termine dato in quello equivalente b/c+a [b·c+a] riconducendomi a un calcolo in cui le operazioni devono essere eseguite una dopo l'altra a partire da sinistra.
Di
fronte a ab/c [o
ab·c] posso interpretare la
sottrazione come la somma di a e di b/c
[ quesito 3] e, grazie alla proprietà commutativa
dell'addizione, scambiare i due termini a e b/c.
Posso perciò calcolare (b/c)+a
[(b·c)+a]. Ossia
battere:
Per calcolare |
| non posso battere a b c , che invece calcola |
| : | |||||||
il secondo termine della divisione è tutto b+c. Posso ricorrere al tasto . |
Infatti posso interpretare la divisione come il prodotto di a per 1/(b+c) [ quesito 4] e, grazie alla commutatività della moltiplicazione, scambiare i due termini a e 1/(b+c). Posso cioè calcolare 1/(b+c)·a, ossia battere: b c a .
Nei casi precedenti potevamo anche usare il tasto di memoria e, ad esempio nell'ultimo caso, battere: |
Invece
a·b+c·d non si può
trasformare in un termine che sia calcolabile a catena. Con una CT
senza gerarchia devo usare il tasto di memoria. Ricorrendo al tasto
di memoria posso, dopo aver eventualmente azzerato la memoria con ,
battere:
Il tasto di memoria comanda alla CT di copiare o addizionare (a seconda del modello di CT o del tipo di tasto, come abbiamo già avuto modo di vedere) il numero che appare sul visore in un apposito registro. Questo registro, a diversità dei registri di lavoro, non è un dispositivo di memorizzazione gestito automaticamente dalla CT ma è azionato direttamente dall'utente. Per distinguerlo dalle memorie di lavoro lo chiameremo memoria-utente.
Invece di ab, se non voglio usare una scrittura "a due piani", posso scrivere a^b. Per convenzione, l'elevamento a potenza ha priorità rispetto a moltiplicazione e divisione: 2·52, cioè 2·5^2, è da interpretare come 2·(52), cioè 2·(5^2), non come (2·5)2, cioè (2·5)^2. Le CT rispettano questa priorità?
| Interpreta il comportamento della tua CT (o quella di un tuo compagno che sia dotata di ) di fronte all'esecuzione di 10·2^3, 10^2·3 e 10^2^3 (battendo i tasti nello stesso ordine dei segni di operazione · e ^), cioè cerca di capire qual è l'ordine in cui esegue le operazioni. | |
Le CT dotate di tasti parentesi consentono di calcolare
5/(1+3) direttamente, senza usare la memoria-utente o .
In genere si tratta di CT che hanno incorporata la priorità
delle operazioni. Vediamo come può funzionare una CT di questo
tipo.
|
Dopo la battitura di la CT non calcola 5/1 ma, essendo stato premuto tiene in sospeso 5/.
........................................ |
|
| |||||||||
| ................................ | |||||||||
102+3 | ................................ | |||||||||
102+3 | ................................ |
Vediamo ora come si comportano le CT dotate di parentesi di fronte a calcoli più complessi. Se si batte:
2 1 2 1 1
possono visualizzare uno dei seguenti messaggi:
(1) E o Error o un lampeggìo | (2) 10 | (3) un altro numero |
| Quali CT completano "correttamente" il calcolo? La tua CT (o la CT dotata di parentesi di un tuo compagno) come si comporta? Quante operazioni devono essere in grado di tenere in sospeso le CT che completano "correttamente" il calcolo? |
4. I numeri delle
CT e la loro codifica interna
Di fronte al calcolo di 10/3 le CT possono dare risultati differenti. Ad esempio:
(1) 3.3333333 | (2) 3.333333333 |
Le CT del tipo (1) visualizzano 8 cifre del risultato, quelle del tipo (2) ne visualizzano 10.
Di fronte al calcolo di 20/3 CT che visualizzino lo stesso numero di cifre, ad es. 8, possono dar luogo a uscite diverse:
(1) 6.6666666 | (2) 6.6666667 |
Nel caso (1) il risultato viene troncato a 8 cifre, nel caso (2) viene arrotondato a 8 cifre. In questo secondo caso la CT deve conoscere almeno un'altra cifra del risultato: per stabilire se lasciare immutata l'8a cifra o aumentarla di 1 deve sapere se la 9a cifra è minore di 5 o no; per eseguire i calcoli deve quindi impiegare più cifre di quelle che compaiono sul visore.
| Quali
risultati forniscono CT del tipo (1) e CT del tipo (2) di fronte al
calcolo di 1234+0.1234567? |
Vediamo come si comporta una CT se si batte 10 6 12345678 12345678 .
Poiché 10/6=1.666 e aggiungere e togliere lo stesso numero 12345678 non dovrebbe modificare il risultato, con una CT che visualizza 8 cifre ci aspetteremmo di ottenere 1.6666666 o 1.6666667. Tuttavia ciò non accade, ma si possono ottenere ad esempio:
(1) |
|
(2) |
|
(3) |
|
(4) |
|
(5) |
|
| Provate
a eseguire questo calcolo con la vostra CT e osservate il risultato.
Sapete spiegarvi come sia possibile che il risultato venga
visualizzato con così poche cifre? |
La CT del tipo (1) dopo il calcolo di 10/6 ha al suo interno 1.666 . Battuto e 12345678, appena si batte , la CT esegue la addizione operando solo con 8 cifre. In questo modo ottiene come risultato 12345679 (perdendo le cifre 666 , successive alla ottava). Da questo, quando l'utente batte 12345678 , sottrae 12345678 dando come risultato finale 1. |
1.6666
+ 12345678 12345679. 12345679 - 12345678 ---------------- 00000001 |
La CT del tipo (2) rispetto a quelle del tipo (1) hanno l'unica differenza di eseguire le operazioni operando con più di 8 cifre, cioè nei registri di lavoro (e nella memoria-utente) possono conservare più cifre di quelle che appaiono sul visore. Quindi durante il calcolo di 1.666 +12345678 la CT non perde subito la 9a cifra del risultato (il 6 dopo il punto decimale), con un confronto stabilisce che non è minore di 5 e, quindi, registra il risultato aumentando di 1 l'ottava cifra (12345679.6 12345680). La sottrazione di 12345678 dà quindi 2. |
1.6666
+ 12345678 12345679. 12345680 - 12345678 ---------------- 00000002 |
La CT del tipo (3) ha registri con 10 cifre e opera con 10 cifre.
|
1.6666
+ 12345678 12345679. 12345679.66 - 12345678 ---------------- 00000001.66 |
Una CT con visore a 8 cifre se ottiene come risultato di un calcolo 0.00000000001 lo visualizza nella forma esponenziale 1E-11 (1·10-11) in quanto la sua scrittura per esteso richiederebbe troppe cifre.
Analogamente se si calcola 12345678·12345678 sul visore si ha 1.5242E14, cioè la rappresentazione esponenziale di 152420000000000. Il risultato è stato arrotondato a sole 5 cifre significative per far spazio all'esponente di 10 (altre CT troncano, altre visualizzano 6 cifre). Se battiamo 1.2345678·1.2345678 otteniamo invece 1.5241577, cioè il risultato approssimato con 8 cifre significative. |
Nel caso di 12345678·12345678 anche nel registro di lavoro il risultato era approssimato solo a 5 cifre?
| Batti 12345678 12345678 sulla
tua CT, annota il risultato e poi batti 1E14 , cioè dividi per 1014. Il nuovo risultato ha la stessa
quantità di cifre significative del risultato annotato? |
Il fatto che si sia ottenuto 1.5241577, cioè un numero con il massimo numero di cifre visualizzabili dalla CT, significa che all'interno, a differenza di quanto accade sul visore, la registrazione dell'esponente non riduce lo spazio per la registrazione delle cifre significative.
Vediamo più in dettaglio come sono memorizzati i numeri in un registro di lavoro.
Riferiamoci a una CT che approssima a 8 cifre significative.
Il numero viene registrato in notazione scientifica (ossia nella forma h·10n dove h ha una sola cifra, diversa da 0, a sinistra del punto decimale e n è l'ordine di grandezza). Ad esempio il risultato di 12345678·12345678, viene interpretato come 1.5241577·1014 e vengono memorizzati separatamente 1.5241577 (h) e 14 (n). La configurazione del registro che contiene questo numero è illustrata nella figura 1.
| figura 1 rappresentazione interna di 1.5241577·1014 |
I numeri h e n vengono detti mantissa ed esponente della notazione scientifica. Oltre alle cifre della mantissa e dell'esponente vengono memorizzati i loro segni (nella figura li abbiamo indicati con "+" poiché sia mantissa che esponente in questo caso sono positivi).
| Memorizza 1 miliardo e batti ripetutamente (almeno una dozzina di
volte) .
Che cosa appare sul visore? Batti 1 1E98 100 . Che cosa ottieni? |
Con il primo calcolo, dopo la visualizzazione di 1E99, alla
successiva moltiplicazione compare un messaggio d'errore. Esso
indica che c'è stato un overflow, cioè
uno "straripamento": il risultato di
Con il secondo calcolo, invece del risultato "corretto" 1E-100, viene visualizzato 0: quando un calcolo ha come risultato un numero positivo inferiore a 10-99 la CT lo memorizza come 0. Un fenomeno di questo genere viene chiamato underflow. Fenomeni analoghi si verificano nel caso di risultati negativi.
| Completa la seguente tabella: | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
9.9999999·1099 | massimo numero macchina | |||||||||||||||||||||||||||||||||||||||||||||||||
1.0000000·10-99 | minimo numero macchina positivo | ||||||||||||||||||||||||||||||||||||||||||||||||||
minimo numero macchina |
I numeri-macchina di una CT, cioè i numeri che essa è in grado di memorizzare, non soltanto hanno un minimo e un massimo entro cui devono variare, ma sono in quantità finita.
| Eseguendo
a mano ripetutamente l'operazione "·2" a
partire da un numero qualunque ottengo via via un numero maggiore del
precedente. In questo modo posso generare una quantità grande
a piacere di numeri diversi. In maniera analoga eseguendo a mano
ripetutamente l'operazione "/2" a partire da un qualunque
numero positivo ottengo una quantità grande a piacere di
numeri via via più piccoli. Che cosa accade se eseguo
questi calcoli con una CT? |
La possibilità di rappresentare internamente non un qualunque numero, ma solamente una quantità finita di numeri, è una caratteristica non solo delle CT, ma anche dei calcolatori di qualsiasi dimensione. Infatti un registro di lavoro o un qualsiasi altro dispositivo realizzato dall'uomo, essendo costituito da una quantità finita di componenti, può registrare solo una quantità finita di espressioni.
Vediamo un po' più in dettaglio come vengono memorizzati i numeri-macchina.
In una CT i registri di lavoro non sono di natura meccanica come accadeva per i contatori delle schede precedenti (sequenze di ruote che cambiavano posizione automaticamente sotto l'azione di ingranaggi e leve), ma sono costituiti da sequenze di particolari dispositivi, simili a interruttori, detti flip-flop, che, sotto l'azione di impulsi elettrici, possono assumere due sole posizioni.
Si tratta di dispositivi elettronici: a
differenza degli usuali interruttori (che presentano un braccio
mobile che può collegare o sconnettere il filo in cui passa la
corrente) non contengono parti meccaniche ma impiegano alcuni
materiali che hanno la proprietà di cambiare la capacità
di conduzione in seguito all'applicazione di una opportuna tensione
elettrica (la parola "elettronico" trae origine dal fatto
che le particelle cariche elettricamente il cui spostamento dà
luogo alla corrente elettrica sono chiamate elettroni).
Il più noto di questi materiali, detti semiconduttori,
è il silicio. Forse hai sentito parlare di Silicon Valley
(la Valle del Silicio): non è una località da film
western ma è una valle della California così
soprannominata poiché vi sono nate molte fra le più
importanti industrie del settore elettronico.
Un semiconduttore può essere trattato opportunamente in modo da assumere proprietà elettriche diverse, dette di tipo N e di tipo P. Se una stessa "fettina" di un semiconduttore viene trattata in modo da presentare uno strato con caratteristica P e uno con caratteristica N si ha che, applicando una tensione elettrica con una batteria:
- se lo strato P è "reso positivo" rispetto a N la corrente circola facilmente (figura 2-A);
- se lo strato P è "reso negativo" rispetto a N il materiale si comporta come isolante (figura 2-B).
figura 2 | |
Questo fenomeno spiega l'origine della parola "semiconduttore".
Un flip-flop è un dispositivo leggermente più complesso di quello raffigurato in fig. 2, realizzato combinando, mediante collegamenti elettrici, più strati di semiconduttore opportunamente trattati. Grosso modo funziona così (figura 3): attraverso successivi impulsi elettrici applicati su un apposito capo il flip-flop può passare dallo stato di conduttore allo stato di isolante, poi di nuovo a quello di conduttore, e così via.
figura 3 | |
Le CT, e più in generale i calcolatori, memorizzano le informazioni mediante flip-flop collegati elettricamente. Indicando con 0 e con 1 i due stati che può assumere un flip-flop, possiamo dire che le informazioni vengono codificate impiegando l'alfabeto 0, 1.
Questo è il motivo per cui, quando si ha a che fare con mezzi di calcolo elettronici, la quantità di informazione registrata, la capacità di memorizzazione di un dischetto, la ampiezza di un documento, vengono misurate in bit: i bit sono i simboli 0 e 1 con cui viene rappresentato il codice impiegato internamente dai dispositivi elettronici. La parola "bit" deriva dall'inglese binary digit (cifra binaria: cifra impiegata nella notazione numerica binaria, cioè a due cifre).
Il vantaggio dei dispositivi di registrazione elettronici rispetto ai dispositivi meccanici (ruote dentate e simili) è quello di essere estremamente più piccoli (con opportune tecniche produttive in una piastrina grande quanto un'unghia possono essere realizzati circuiti elettrici contenenti migliaia di flip-flop) e più facili da produrre.
I registri della CT che stiamo considerando nel nostro esempio sono organizzati nel modo illustrato nella figura 4.
| figura 4 |
I segni vengono codificati con 1 bit (0 il segno "", 1 il segno "+") e ogni cifra viene codificata con 4 bit.
|
Questa rappresentazione dei numeri viene chiamata BCD, che sta per "binary coded decimal": notazione decimale codificata con un alfabeto binario (figura 5).
|
|||||||||||||||||||||
figura 5 |
5. Altri tasti
funzione - La radice quadrata
In una CT sono incorporati (memorizzati in opportuni dispositivi elettronici) programmi per eseguire le "quattro operazioni". Così come nel calcolo a mano possiamo utilizzare procedimenti diversi ( la "conta" oppure le tabelline), per eseguire queste operazioni con le CT possono essere utilizzati programmi che traducono algoritmi diversi, più o meno veloci.
Ad esempio si può calcolare 27+65 attraverso incrementi unitari, oppure mediante l'algoritmo della somma in colonna; posso far avanzare il contatore che contiene 27 di 65 posizioni contate una per una (65 "scatti"), oppure posso:
far avanzare di 5 posizioni il dispositivo in cui ho messo 7 ( 8 9 0 1 2), e, poiché si è passati attraverso la posizione 0, incrementare di 1 il dispositivo in cui c'era 2 ( 3) per tener conto del "riporto", |
| |||||
far avanzare di 6 posizioni il dispositivo in cui ora c'è 3 ( 4 5 6 7 8 9), arrivando così al risultato 92 con solo 12 "scatti". |
|
Abbiamo anche visto ( quesito 4) che se fosse incorporato un programma per calcolare il reciproco di un numero la CT potrebbe fare a meno di un programma specializzato nel calcolo delle divisioni: potrebbe utilizzare tale programma e quello per il calcolo delle moltiplicazioni. Viceversa potrebbe non avere un programma specializzato nel calcolo dei reciproci e calcolare il reciproco mediante un programma specializzato nel calcolo delle divisioni.
Comunque non ci preoccuperemo di analizzare in dettaglio questi aspetti. Ci limitiamo ad ammettere che le CT abbiano incorporati opportuni programmi per calcolare le "quattro operazioni", il reciproco e il cambio-segno; si tratterà di programmi più o meno simili agli usuali algoritmi per il calcolo con i numeri decimali limitati che abbiamo imparato nella scuola elementare.
Analogamente possiamo comprendere come possa funzionare il tasto (o un tasto simile) presente su alcune CT, che opera nel modo seguente:
batto |
|
premo | batto |
|
premo | ottengo |
|
|||||
input | funzione | input | output |
Dati come input i numeri interi 170 e 18 vengono visualizzati due output:
il risultato della divisione intera (cioè il troncamento agli interi di 170/18, che a volte viene indicato 170\18), cioè 9 (infatti 170 diviso 18 fa 9 e rotti)
e (preceduto da una R) il relativo resto, cioè 8 (infatti prendendo 18 parti grandi 9 ottengo 162, e mi rimane ancora 170-162 = 8 da suddividere).
| Senza
eseguire a mano l'algoritmo della divisione (e senza usare
l'eventuale tasto )
calcola con la CT il resto della divisione intera di 29523 per 137.
Come hai proceduto? |
Il tasto calcola una funzione a 2 input e 2 output. A volte, invece che di funzione a 2 input e 2 output, a 2 input e 1 output, a 1 input e 1 output, si parla di funzione a 2 argomenti e 2 valori, 2 argomenti e 1 valore, 1 argomento e 1 valore, . Ad esempio la funzione cambio-segno è una funzione a 1 argomento e 1 valore. |
Come vengono calcolate le funzioni corrispondenti agli altri tasti? Senza preoccuparci di descrivere esattamente qual è il procedimento impiegato, vediamo come una CT potrebbe essere stata programmata in modo da effettuare il calcolo a partire dai procedimenti per eseguire le "quattro operazioni".
figura 6 |
Consideriamo il tasto . Il calcolo della funzione x x2 (che trasforma x in x2) può essere realizzato componendo una funzione-duplicatore, cioè la funzione a 1 input e 2 output che preso un dato restituisce il dato stesso e una sua copia, e una moltiplicazione: figura 6. |
Più complicato è interpretare il funzionamento del tasto .
| Provate
a battere le seguenti sequenze di tasti e annotate i risultati
ottenuti. 2 1 2 2 2 2.7 2 3 |
Nel caso di potenze a esponente intero (come -1, 2 e 3) sappiamo che il calcolo può essere effettuato attraverso una sequenza di moltiplicazioni o di divisioni per la base a partire da 1: 1=20, 1·2=21, 1·2·2=22, , 1/2=2-1, 1/2/2=2-2, . Basterebbe quindi impiegare il programma per eseguire la moltiplicazione o quello per eseguire la divisione e un contatore per tenere il conto delle volte che tale operazione è stata effettuata.
Nel quesito 26 abbiamo tuttavia visto che la CT esegue il calcolo anche nel caso in cui l'esponente non è intero: per 22.7 viene dato come risultato 6.4980192. Si tratta di un valore compreso tra 22= 4 e 23= 8 ma, a prima vista, non si riesce a comprendere come questo numero possa essere ottenuto a partire dagli input 2 e 2.7. Su questo problema ritorneremo più avanti, quando avremo messo a punto i concetti matematici che ci permetteranno di affrontarlo (nel quesito 45 vengono introdotti alcuni aspetti del problema).
Consideriamo il tasto . Esso permette di calcolare la funzione estrazione della radice quadrata.
Come sapete si tratta della funzione che a x associa il numero positivo (o nullo, se x=0) il cui quadrato sia x, cioè il numero y tale che y2 = x (è l'origine, la "radice", la provenienza del valore x, cioè il valore originale prima dell'elevamento al quadrato). Infatti se, ad esempio, batto 9 sul visore ottengo 3; se poi batto riottengo 9 ( figura a fianco): 3 è il numero positivo il cui quadrato è 9. |
Se invece batto 4 sul
visore compare un messaggio d'errore: non esiste alcun numero il
cui quadrato faccia 4 in quanto la moltiplicazione di un
numero per sé stesso non dà mai un risultato
negativo. Possiamo dire che il termine
Analogamente ottengo un messaggio d'errore se batto 0 o
se batto |
L'insieme degli input a cui una funzione f fa corrispondere un output viene detto insieme di definizione (o dominio) di f.
Nel caso della radice quadrata (x x) il suo insieme di definizione è costituito dai numeri maggiori o uguali a 0. Nel caso del reciproco (x 1/x) l'insieme di definizione è costituito dai numeri diversi da 0. Nel caso della divisione (x,y x/y) è costituito da tutte le coppie di numeri x,y con y diverso da 0. L'insieme di definizione dell'elevamento al quadrato (x x2) comprende invece tutti i numeri: x2 è sempre definito.
| Prova a eseguire i seguenti calcoli con la CT e: (1) stabilisci se il termine corrispondente è definito o indefinito, (2) scrivi (senza semplificazioni) tale termine: |
2 0 2 | .................... | 6 3 2 5 8 | .................... |
3 3 | .................... | 6 3 3 | .................... |
Le CT
non sempre calcolano esattamente la radice quadrata di un numero.
Come di 10/3 le CT calcolano una approssimazione con una quantità
finita di cifre, così nel caso ad esempio di
| Perché
3.162277660 non è la radice quadrata esatta di 10? |
Ma una CT come può essere in grado di calcolare la radice quadrata di un numero A, cioè di trovare il numero X che al quadrato faccia A (o trovare una sua approssimazione)?
Dovrà usare un procedimento meccanico, basato su operazioni elementari che la macchina è in grado di eseguire.
Per trovare una risposta proviamo a vedere come possiamo calcolare
Un'idea può essere quella di procedere per tentativi; consideriamo ad esempio A=5:
proviamo con X=2; il suo quadrato X·X è 4; quindi 2 è troppo piccolo;
proviamo con X=3; X·X=9; quindi 3 è troppo grande;
proviamo prendendo X compreso tra 2 e 3; ad esempio con X=2.5;
Ecco l'elenco di una possibile sequenza di tentativi. Le
moltiplicazioni X·X sono state eseguite con una CT a 8 cifre.
Nelle colonne "difetto" e "eccesso" sono stati
indicati i valori dei numeri entro cui man mano sappiamo, in base ai
tentativi effettuati, che deve cadere la radice quadrata di 5:
dopo
aver visto che 2·2<5 possiamo concludere che
dopo
aver visto che 3·3>5 possiamo concludere che 2<
dopo
aver visto che 2.5·2.5>5 possiamo concludere che
Dopo questi tentativi possiamo concludere che 2.23606 è una
approssimazione per troncamento di
Poiché l'ultima cifra è la cifra di posto
Il procedimento impiegato è schematizzabile con il diagramma di flusso (5.1).
(5.1) |
| Il primo riquadro indica che nel tentativo iniziale (quando abbiamo provato con X=2) non abbiamo proceduto alla cieca: abbiamo preso un numero maggiore di 1 e minore di 5 poiché un numero minore di 1 [maggiore di 5] moltiplicato per sé stesso mi avrebbe dato un altro numero minore di 1 [maggiore di 5].
|
Il procedimento seguito non è del tutto meccanico: ad ogni nuovo tentativo sappiamo solo dove dobbiamo andare a prendere X, non ci viene indicato quale valore prendere. Per ottenere un procedimento che sia eseguibile da una macchina dobbiamo precisare la scelta di X. Un'idea può essere la seguente:
trovata
un'approssimazione per troncamento ad esempio ai centesimi (2.23 nel
caso di
Si può partire da X=0 e come incremento iniziale si può prendere 1, 10, 100, , 0.1, 0.01, a seconda della grandezza di A. Più precisamente possiamo prendere la massima potenza di 10 il cui quadrato non superi A. Vediamo come si sarebbe proceduto nel caso della radice quadrata di 5:
X | incremento | nuovo X | confronto del quadrato con 5 | ||||
1 | < | proviamo con 10 | |||||
10 | > | torniamo al valore precedente e incrementiamo di 1 | |||||
1 | + 1 | = | 2 | < | incrementiamo di 1 | ||
2 | + 1 | = | 3 | > | torniamo al valore precedente e incrementiamo di 0.1 | ||
2 | + 0.1 | = | 2.1 | < | incrementiamo di 0.1 | ||
2.1 | + 0.1 | = | 2.2 | < | incrementiamo di 0.1 | ||
2.2 | + 0.01 | = | 2.3 | > | torniamo al valore precedente e incrementiamo di 0.01 | ||
2.2 | + 0.01 | = | 2.21 | < | incrementiamo di 0.01 | ||
2.21 | + 0.01 | = | 2.22 | < | incrementiamo di 0.01 | ||
2.22 | + 0.01 | = | 2.23 | < | incrementiamo di 0.01 | ||
2.23 | + 0.01 | = | 2.24 | > | torniamo al valore precedente e incrementiamo di 0.001 | ||
2.23 | + 0.001 | = | 2.231 | < | incrementiamo di 0.001 | ||
2.231 | + 0.001 | = | 2.232 | < | incrementiamo di 0.001 | ||
2.236 | + 0.001 | = | 2.237 | > | torniamo al valore precedente e incrementiamo di 0.0001 |
(5.2) |
Questo procedimento, nel caso della radice quadrata di 5, dà luogo alla sequenza di uscite:
2, 2.2, 2.23, 2.236, 2.2360, 2.23606, 2.236067, 2.2360679, 2.23606797, 2.236067977, 2.2360679774,
Nel caso della radice di 10 si ottengono: 3, 3.1, 3.16, 3.162, 3.1622, 3.16227, . Nel caso della radice di 1000: 30, 31, 31.6, 31.62, 31.622, . Nel caso di 0.1: 0.3, 0.31, 0.316, 0.3162, 0.31622, .
| Impiegando
questo procedimento trova la radice quadrata di 0.4 troncata ai
centesimi. |
Eseguendo la moltiplicazione X·X a mano si può trovare
la radice quadrata di un qualunque numero positivo A con quante cifre
si vogliono. Ad esempio dopo aver trovato il troncamento di
La CT, invece, ci fornirà soltanto una quantità fissata
di cifre. Ad esempio ci potrebbe fornire come valore di
Comunque, in genere, è sufficiente conoscere una quantità piccola di cifre.
| Un'officina deve realizzare una piastra di lamiera di forma quadrata
che abbia area di 5 m2. Gli strumenti con cui vengono tagliati i
fogli di lamiera possono essere regolati utilizzando delle scale
graduate che arrivano a rappresentare i decimi di millimetro. Qual è
l'approssimazione di |
6. Composizione di
funzioni - Funzioni inverse
Abbiamo visto, in §1, che, per calcolare x/y quando il tasto della CT non funziona, si può ricorrere ai tasti e , componendo opportunamente la funzione reciproco (a 1 input e 1 output) e la funzione moltiplicazione (a 2 input e 1 output). |
| Cerca, nel §1, un grafo che rappresenti la composizione di due funzioni entrambe a 2 input e 1 output. |
Ingrandisco un disegno con fattore di scala 2 e poi ingrandisco il
nuovo disegno con fattore di scala 3. Posso rappresentare ciò
con il grafo a fianco, in cui f è la funzione In questo caso sia f che g sono la moltiplicazione di un input variabile per un fattore costante, per cui vengono rappresentate con scatole in cui entra 1 sola freccia. |
| g: x x· |
|
Una persona utilizzando una fotocopiatrice con scala di
ingrandimento/riduzione variabile riproduce parte di una cartina
geografica prestatale da un amico impiegando il fattore di scala
125%, cioè ingrandendola del 25%.
E` giusto il ragionamento che ha fatto?
100 cm · fattore
di ingrandimento = 100 cm · 125% = 100 cm · 1.25 = 125
cm
Quale fattore di
riduzione doveva applicare per riottenere 100 cm? ( Le
statistiche, scheda 1, fine §2) |
| h: x x· | ||||||
[la figura adestra illustra la trasformazione di alcuni numeri mediante la applicazione di f e poi di g] |
Abbiamo visto che applicando a un input la funzione f e poi la funzione g del quesito 35 cioè applicando la funzione g(f(.)) l'output ottenuto è uguale all'input.
In altre parole g(f(x))=x, ossia g(f(.)) è la funzione x x.
| Calcola f(g(x)) per alcuni valori di x a tua scelta e cerca di esplicitare il termine che esprime l'output per un generico input x: 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).
Se batto 9 sul visore riottengo 9, se batto 3 riottengo 3. La radice quadrata ( §5) è dunque la funzione inversa dell'elevamento al quadrato? Se batto 3 non riottengo 3 ( figura 7): calcolando la radice di 9 trovo 3, cioè il numero "posi-tivo" y tale che y·y = 9, non il numero negativo 3. La funzione che si ottiene componendo elevamento al quadrato e radice quadrata associa ai numeri negativi i loro opposti (3 9 3) mentre lascia invariati gli altri numeri (3 9 3, 0 0 0). |
Il numero che si ottiene come output viene chiamato valore assoluto del numero che si è dato come input. Quindi 3 e 3 hanno entrambi 3 come valore assoluto. Il valore assoluto di un numero x viene indicato |x|. Quindi: |6.3| = |6.3| = 6.3.
Concludendo si può dire che l'elevamento al quadrato ha come funzione inversa la radice quadrata solo se lo delimitiamo imponendo la condizione che i suoi input non siano negativi: se come input prendo un numero a≥0, componendo l'elevamento al quadrato e la radice quadrata riottengo a. |
Molte CT impiegano lo stesso tasto per il quadrato e per la radice quadrata. Battendo direttamente il tasto viene calcolata la radice (o il quadrato, in alcune CT, come in quella "virtuale" presente in Windows), battendo prima un apposito tasto ( o o o ) viene calcolata la funzione inversa.
| Siano F e G le funzioni così definite: F(x) = x·1.25 (ingrandimento del 25%), G(x) = x·0.8 (riduzione del 20%), già considerate nei quesiti 35 e 36. In figura 8 sono riprodotte parti dei grafici (realizzate con Poligon) di tali funzioni e delle funzioni H=F(G(.)) e K=G(F(.)). Due dei 4 grafici si sovrappongono.
(1) Associa ad
ogni grafico la (o le) funzioni corrispondenti.
|
figura 8 | ||
|
In
figura 9 sono tracciati i grafici di due funzioni F e G
[R(x) sta per (1) Evidenzia il punto che rappresenta quale output ha F se l'input è 1.5. (2) Qual è l'output di G se l'input è 2.25, cioè qual è la radice quadrata di 2.25? Evidenzia il punto che esprime questa associazione. (3) Calcola gli output di H e di K ( figura 9) per gli input 0, 1, 1, 2, 2, 3, 3 (vedi tabella a fianco). Prova a esprimere H(x) e K(x) senza ricorre a F e G. H(x) = K(x)= (4) Traccia i grafici di H e di K. |
| ||||||||||||||||||||||||||
(5) Tracciando il grafico di F si è fatta variare x su tutto l'intervallo [-2,3]. Per G e per H come conviene scegliere a e b? |
figura 9 | ||
7. Esercizi
| I numeri macchina positivi con ordine di grandezza n di una ipotetica CT dotata di registri con mantisse a due cifre vanno da 1.0·10n a 9.9·10n. La prima cifra può andare da 1 a 9 (9 possibilità), la seconda da 0 a 9 (10 possibilità). Quindi questi numeri in tutto sono 9·10=90 ( figura seguente) | ||
Se la CT registrasse 3 cifre si andrebbe da 1.00·10n a 9.99·10n. Per ciascuna delle 9 possibili scelte della prima cifra avremmo 10 possibili scelte della seconda cifra. Per ciascuna delle 9·10=90 possibili scelte della prima coppia di cifre avremmo 10 possibili scelte per la 3a cifra (a lato sono raffigurate le 10 mantisse aventi 1 e 0 come prima coppia di cifre). Quindi questi numeri sono 9·10·10 | |||
Analogamente le possibili mantisse di una CT a 4 cifre sono 9·10·10·10 (9 possibilità per la prima cifra, 10 per le altre). | |||
L'esponente n è un numero intero che può andare
da -99 a 99, cioè può assumere 199 valori
diversi. Quanti sono i numeri macchina della CT considerata nella figura 1? |
|
Lo schema a lato dà un'idea di come sia realizzabile
tecnologicamente la codifica binaria delle cifre decimali battute
dalla tastiera di una CT. I quadratini in basso rappresentano i 4
flip-flop con cui viene memorizzata la cifra decimale battuta. I
triangolini neri rappresentano i raccordi tra tratti orizzontali e
tratti verticali: consentono alla corrente di passare dal tratto
orizzontale al tratto verticale, ma non viceversa. Completa lo schema in modo da illustrare anche la codifica di "7". |
|
Il
programma CALCOL simula il funzionamento di diversi modelli di
calcolatrice e permette di esaminarne i registri di lavoro. Si tratta
di CT che possono avere o no la priorità delle operazioni, che
nei registri di lavoro possono avere o no una cifra in più
rispetto al visore, che hanno mantissa a Nm cifre e
arrotondano a Nm cifre significative; si può scegliere
Nm tra 3 e 14; come numero Ne delle cifre
dell'esponente si può prendere 1 o 2. Sotto è riportato un esempio d'uso per analizzare il calcolo di 1+2·53. | |||||||
| ||||||||
| ||||||||
(a) Usa CALCOL per rivedere gli esempi considerati nella scheda (in particolare quelli di §2 e di §4). (b) Prevedi il comportamento di fronte al quesito 16 di una CT con Nm=12 e Ne=2 e verificalo con CALCOL. (c) Con una CT con Ne=2 e con una con Ne=1 qual è il massimo numero che si ottiene a partire da 10 battendo ripetutamente il tasto di elevamento al quadrato prima di arrivare all'overflow? Verifica la previsione con CALCOL. (d) Usa CALCOL per verificare che cosa si può ottenere con una CT se a partire da 10 si batte ripetutamente il tasto di estrazione di radice quadrata. (e) Quale valore di 5 dà una CT con Nm=3 e Ne=1? Verifica la risposta con CALCOL. |
|
|
| Completa gli schemi a fianco dando il nome giusto (f o
g) a ciascuna "scatola", sapendo che: f: x 3+x g: x x2 |
| 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 |
| Per calcolare l'elevamento al quadrato mediante una CT invece del tasto di funzione a 1 argomento potrei usare (oltre che ) il tasto di funzione a 2 argomenti , anche se, ovviamente, in questo modo dovrei battere più tasti e occupare più registri di lavoro della CT. (a) Come potrei impiegare in alternativa al tasto ? (b) Prova a battere 2 0.5 e confronta il risultato con quello della battitura di 2 . Ripeti la prova con numeri diversi da 2. Che cosa puoi ipotizzare circa il valore di a0.5? (c) Sappiamo che am·an = am+n se m e n sono numeri interi [ Potenze (1) in Gli oggetti matematici]. 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 (b)? (d) Una persona vuole costruire una cisterna di forma cubica che abbia il volume di 10m3. 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ò, utilizzando una CT, batte 10 3 , ottenendo sul visore 2.1544347. 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] |
| 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 |
| ||||||||
| Puoi ottenere la figura B del quesito 46 come grafico di un'unica funzione? Usa opportunamente Poligon per ottenere tale figura |
|
Usa
Poligon [scegli un sistema di riferimento monometrico] per tracciare il grafico della funzione
identità (F(x)=x, funzione che restituisce l'input
identico a come è entrato), il grafico della funzione
reciproco (G(x)=1/x) e il grafico della funzione cambio-segno
(H(x)=x). Se uno di questi grafici passa per il punto (x,y), secondo te passa anche per il punto (y,x)? [prova con qualche esempio] |
| 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. |
| Usando Poligon, traccia i grafici di F e G nei casi seguenti e prova a concludere se F(x) e G(x) sono termini equivalenti. [Poligon interpreta ABS e R2 come simboli delle funzioni valore assoluto e radice quadrata] | ||||||
(a) | F(x) = Abs(x) | G(x) = R2(x^2) | (b) | F(x) = Abs(x) | G(x) = Abs(-x) | ||
(c) | F(x) = Abs(x+2) | G(x) = Abs(x)+2 | (d) | F(x) = (x+1)*x | G(x) = x*x+x | ||
(e) | F(x) = 3/x*x | G(x) = 3/x^2 | (f) | F(x) = (3/x)^2 | G(x) = 3/x^2 |
|
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"? |
|
Nel sistema di riferimento seguente sono stati tracciati: il grafico della relazione y=x, cioè della funzione che a ogni input x associa un output uguale. Ad esempio a 0 associa 0, a 80 associa 80, a 100 associa 100; il grafico della funzione F che aumenta l'input di 50: x x+50; ad esempio F a 0 associa 50, a 80 associa 130, a 100 associa 150; il grafico della funzione G che aumenta l'input del 50%: x x·(1+50/100); x viene moltiplicato per 1 e 1/2; ad esempio G a 0 associa 0, a 80 associa 80+40=120, a 100 associa 100+50=150; il grafico della funzione H che applica all'input due successivi aumenti di 50, cioè: x F(F(x)); il grafico della funzione K che applica all'input due successivi aumenti del 50%, cioè: x G(G(x)). Cercate di associare a H e a K i due grafici che, nella figura, sono ancora senza "nome" e spiegate il ragionamento che avete svolto per arrivare alla risposta. | ||
1) Segna con l'evidenziatore, nelle parti della scheda indicate, frasi e/o formule che descrivono il significato dei seguenti termini: proprietà commutativa (dopo ques.6), registro di lavoro (§2), memoria-utente (§3), mantissa (della notazione scientifica) (dopo ques.18), numeri macchina (§4), insieme di definizione (prima di ques.27), composizione di funzioni (§6), funzione inversa (dopo ques.36), valore assoluto (dopo ques.36). 2) Su un foglio da "quadernone" (che poi inserirai dopo l'ultima pagina della scheda), nella prima facciata, esemplifica l'uso di ciascuno dei concetti sopra elencati mediante una frase in cui esso venga impiegato. 3) Nella seconda facciata riassumi in modo discorsivo (senza formule, come in una descrizione "al telefono") il contenuto della scheda (non fare un elenco di argomenti, ma cerca di far capire il "filo del discorso"). |