Pagina precedente  Indice  Pagina successiva
 

Operazioni aritmetiche in base 10


Rivediamo ora gli algoritmi per eseguire le operazioni aritmetiche che utilizzano la rappresentazione posizionale dei numeri in base $10$ (algoritmo significa, per quanto ci riguarda qui, un procedimento meccanico di calcolo). Cercheremo anche di capire, usando l'aritmetica elementare, come e perchè funzionano.

Sono metodi noti a tutti fin dalla scuola elementare. Quelli per l'addizione e la sottrazione compaiono già nel medioevo in una forma simile a quella in uso oggi.

Per la moltiplicazione, invece, sono esistiti molti algoritmi diversi: a "crocetta", a "quadrilatero", a "graticola" ecc. Quello attuale, comparso nel XV secolo, era detto metodo per "biricuocolo" in Toscana, "scacchiere" a Venezia, "organetto" a Verona.

Un algoritmo curioso per la moltiplicazione è quello detto "del contadino russo", che richiede solo di saper addizionare, raddoppiare e dimezzare i numeri, mentre quello attualmente in uso richiede, oltre la somma, la conoscenza di tutti i prodotti di due numeri di una sola cifra, prodotti che vengono normalmente imparati a memoria dagli studenti (le cosiddette "tabelline", perchè vengono normalmente disposti in una tabella con dieci righe e dieci colonne).

Per quanto riguarda la divisione, l'algoritmo usato oggi risale anch'esso al XV secolo, ed è detto a "danda", perchè ad ogni passo il dividendo deve "dare" una cifra da aggiungere al resto precedente. Si distingue anche uno schema "a danda lunga" e "a danda corta": nella danda corta si scrivono solo i resti. Prima del XV secolo si eseguiva la divisione con un metodo detto "a galera" (nel senso di nave a remi) o "a battello", per la disposizione delle cifre, che ricordava una nave a remi.

Cominciamo dalla più semplice tra le operazioni aritmetiche: l'addizione. L'algoritmo lo conosciamo tutti, rivediamolo con un esempio:
 
 

Esempio. Calcoliamo $15 + 37$ in base $10$, secondo il procedimento solito. Cominciamo sommando le due cifre decimali meno significative (quelle più a destra), ottenendo $7 + 5 = 12$; poichè $12 > 9$, prendiamo $2$ come cifra decimale meno significativa della somma, $1$ come riporto. Il significato di questo modo di procedere diventerà chiaro tra poco. A questo punto, sommiamo tra loro le due cifre successive e il riporto ottenuto prima, ottenendo $1 + 3 + 1 = 5$, che è la cifra successiva della somma. Ottieniamo così che $15 + 37 = 52$.

Di solito, svolgiamo le operazioni disponendo i numeri in uno schema a tabella di questo tipo:
 
 

\begin{displaymath}\begin{array}{llr}1&5&+\\3&7&=\\ [1ex]\hline \\ [-1.6ex]5&2& \\\end{array}\end{displaymath}

in cui i riporti non vengono scritti esplicitamente.

Possiamo giustificare in qualche modo il procedimento seguito ? Certamente, applicando quelle che sono note (dalla scuola media) come le proprietà associativa e commutativa della somma, e la proprietà distributiva del prodotto rispetto alla somma:
 



\begin{displaymath}15 + 37 = (1 \times 10 + 5) + (3 \times 10 + 7) =(1 \times ......+ (3 \times 10) + (5 + 7) =(1 \times 10) + (3 \times 10) + 12\end{displaymath}
\begin{displaymath}= (1 \times 10) + (3 \times 10) + (1 \times 10 + 2)= (1 + 3 + 1) \times 10 + 2 = 5 \times 10 + 2 = 52.\end{displaymath}




Vediamo ora un esempio di moltiplicazione, direttamente sulla tabella.
 
 

Esempio. Calcoliamo $21 \times 22.$
 
 

\begin{displaymath}\begin{array}{lllr}&2&1&\times \\&2&2&=\\ [1ex]\hline ......ex]&4&2&\\4&2& \\ [1ex]\hline\\ [-1.6ex]4&6&2\end{array}\end{displaymath}

 
 

Abbiamo prima moltiplicato $21$ per la cifra più a destra di $22$, ossia $2$, ottenendo così il primo risultato parziale. Poi abbiamo moltiplicato ancora $21$ per la cifra più a sinistra di $22$, che è ancora $2$, ottenendo il secondo risultato parziale, che abbiamo incolonnato sotto il primo, spostandolo però a sinistra di un posto. Infine, abbiamo sommato i due risultati parziali.

Anche in questo caso, possiamo giustificare il procedimento seguito mediante la proprietà distributiva della moltiplicazione rispetto alla somma:
 


\begin{displaymath}(2 \times 10 + 1) \times (2 \times 10 + 2) = (2 \times 10 + 1) \times 2 +((2 \times 10 + 1) \times 2) \times 10 \end{displaymath}
\begin{displaymath}= (2 \times 1 + 2 \times 2 \times 10) +(2 \times 1 + 2 \times 2 \times 10) \times 10\end{displaymath}




ricordando che, per moltiplicare per $10$, basta traslare a sinistra di un posto le cifre e aggiungere uno $0$ a destra, proprio quello che facciamo con il secondo risultato parziale (anche se lo $0$ non lo scriviamo).

Veniamo ora all'algoritmo della divisione. Prima di tutto, facciamo una osservazione: dati due numeri naturali $a$$b$, l'algoritmo della somma, applicato alle rappresentazioni decimali di $a$$b$, ci dà la rappresentazione decimale di $a+b$, e analogamente per il prodotto. L'algoritmo della divisione, invece, applicato alle rappresentazioni decimali di $a$ (che ora viene chiamato dividendo) e $b$ (il divisore), ci fornisce due numeri, il quoziente$q$ e il resto$r$ della divisione di $a$ per $b$, che soddisfano la relazione

\begin{displaymath}a=b\times q + r.\end{displaymath}



Il resto $r$, inoltre, ha la proprietà di essere sempre minore del divisore $b$. Ad esempio, dati $5$$2$, l'algoritmo della divisione fornisce come quoziente $2$ e come resto $1$, dato che $5 = 2 \times 2 +1$, mentre se lo applichiamo a$2$$5$ otteniamo quoziente $0$ e resto $2$, dato che $2 = 5 \times 0 + 2$, e $2 < 5$.

Esaminiamo ora l'algoritmo in dettaglio, anche in questo caso direttamente in un caso concreto. Cosa facciamo in realtà quando dividiamo, ad esempio, $3073$ per $37$ ? Cominciamo con il selezionare, nel numero $3073$, gruppi di cifre a partire da sinistra. Otteniamo:$3$$30$$307$.

I primi due gruppi selezionati danno un numero minore di $37$, il terzo dà invece$307$, che è maggiore di $37$. A questo punto, ci fermiamo, e osserviamo che $307 = 8 \times 37 +11$, e $3073 = 307 \times 10 + 3$. Allora possiamo ragionare nel modo seguente:

\begin{displaymath}3073 = 307 \times 10 + 3 = (8 \times 37 + 11)\times 10 + 3 = 80 \times 37 + 113\end{displaymath}



che ci darebbe quoziente $80$ e resto $113$. Ma $113 > 37$, per cui proseguiamo osservando che

\begin{displaymath}113 = 3 \times 37 + 2\end{displaymath}



e quindi abbiamo:

\begin{displaymath}3073 = 80 \times 37 + 3 \times 37 + 2 = 83 \times 37 + 2\end{displaymath}



Abbiamo così ottenuto che $3073$ diviso per $37$ dà quoziente $83$ e resto$2$.

L'algoritmo solito per la divisione è proprio una codifica di questo ragionamento. Cominciamo selezionando il più piccolo gruppo di cifre del dividendo, cominciando da sinistra, in modo tale da avere un numero maggiore o uguale del divisore. Nel nostro caso otteniamo $307$.

Dividiamo ora $307$ per $37$, ottenendo quoziente $8$ e resto $11$. Come facciamo a trovarli ? Possiamo "indovinare" il quoziente$8$, procedendo per tentativi, e calcolare il resto moltiplicando $37$ per $8$ e sottraendo da $307$. È anche vero (e si potrebbe dimostrare rigorosamente) che il quoziente da indovinare, nel nostro caso $8$, deve necessariamente essere minore di $10$, quindi sarà rappresentato da una sola cifra (questo proprio perchè abbiamo selezionato il più piccolo gruppo di cifre che danno un numero maggiore o uguale del divisore), quindi ce la caveremo con, al più, $9$ tentativi. Vedremo tra poco che, comunque, esiste una strategia che può venirci in aiuto.

In questo modo abbiamo ottenuto la prima cifra del quoziente finale. A questo punto "abbassiamo" la cifra $3$ del divisore, il che significa proprio moltiplicare per $10$ il resto precedente e sommare $3$, ottenendo $113$. Dividiamo poi$113$ per $37$, come prima, ottenendo sempre un quoziente a una sola cifra, che è l'ultima cifra del quoziente finale, e un resto, che dà il resto finale.

Il procedimento che abbiamo appena visto si riassume di solito in forma grafica, ad esempio così:
 



 

\begin{displaymath}\begin{array}{lllllcrrr}3&0&7&3& &:& &3&7\\2&9&6& & & & &......3\\&1&1&1\\ [1ex]\cline{2-4}\\ [-1.6ex]& & &2\end{array}\end{displaymath}


 


Ritorniamo per un momento al primo passo del procedimento, quando dobbiamo trovare il quoziente di $307$ per $37$ (che, ricordiamo, consisterà di una sola cifra decimale, nel nostro caso $8$). Abbiamo detto che il quoziente si trova per tentativi, e che occorrono al più nove tentativi. Esiste una strategia per "indovinare" il quoziente che può semplificare il procedimento: si comincia provando a dividere le prime due cifre di $307$ per la prima cifra di $37$, ossia $30$ per $3$; questo è facile, e si può fare con le tabelline, provando a moltiplicare$3$ per $1$$2$, eccetera, fermandosi all'ultimo numero che è ancora minore o uguale a $30$. Nel nostro caso, poichè $3 \times 9 = 27$, si prende $9$. Moltiplicando $37 \times 9$ si ottiene $333$, che è maggiore di $307$, dunque $9$ è troppo grande. Diminuiamo allora il quoziente di una unità, e proviamo con $8$. Poichè $37 \times 8 = 296$, che è minore di $307$, il quoziente cercato è $8$. Il resto $11$ si trova calcolando $37 \times 8$ e sottraendolo da $307$, dopo di che si continua.

Al passo successivo, per "indovinare" il quoziente di $113$ per $37$, si può ancora provare a dividere $11$ per $3$, sempre utilizzando le tabelline, e si ottiene $3$. Poichè $37 \times 3 = 111$ è minore di $113$, il quoziente $3$ è quello cercato, e si conclude.

Questa strategia funziona bene, almeno in certi casi. Infatti, si può dimostrare in modo rigoroso (vedi [LC], Cap. 5) che:


Pagina precedente  Indice  Pagina successiva