Rivediamo ora gli algoritmi per eseguire le operazioni aritmetiche che utilizzano la rappresentazione posizionale dei numeri in base (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 in base , secondo il procedimento solito. Cominciamo sommando le due cifre decimali meno significative (quelle più a destra), ottenendo ; poichè , prendiamo come cifra decimale meno significativa della somma, 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 , che è la cifra successiva della somma. Ottieniamo così che .
Di solito, svolgiamo le operazioni disponendo i numeri in uno schema
a tabella di questo tipo:
|
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:
Vediamo ora un esempio di moltiplicazione, direttamente sulla tabella.
Esempio. Calcoliamo
|
Abbiamo prima moltiplicato per la cifra più a destra di , ossia , ottenendo così il primo risultato parziale. Poi abbiamo moltiplicato ancora per la cifra più a sinistra di , che è ancora , 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:
ricordando che, per moltiplicare per , basta traslare a sinistra di un posto le cifre e aggiungere uno a destra, proprio quello che facciamo con il secondo risultato parziale (anche se lo non lo scriviamo).
Veniamo ora all'algoritmo della divisione. Prima di tutto, facciamo una osservazione: dati due numeri naturali e , l'algoritmo della somma, applicato alle rappresentazioni decimali di e , ci dà la rappresentazione decimale di , e analogamente per il prodotto. L'algoritmo della divisione, invece, applicato alle rappresentazioni decimali di (che ora viene chiamato dividendo) e (il divisore), ci fornisce due numeri, il quoziente e il resto della divisione di per , che soddisfano la relazione
Il resto , inoltre, ha la proprietà di essere sempre minore del divisore . Ad esempio, dati e , l'algoritmo della divisione fornisce come quoziente e come resto , dato che , mentre se lo applichiamo a e otteniamo quoziente e resto , dato che , e .
Esaminiamo ora l'algoritmo in dettaglio, anche in questo caso direttamente in un caso concreto. Cosa facciamo in realtà quando dividiamo, ad esempio, per ? Cominciamo con il selezionare, nel numero , gruppi di cifre a partire da sinistra. Otteniamo:, , .
I primi due gruppi selezionati danno un numero minore di , il terzo dà invece, che è maggiore di . A questo punto, ci fermiamo, e osserviamo che , e . Allora possiamo ragionare nel modo seguente:
che ci darebbe quoziente e resto . Ma , per cui proseguiamo osservando che
e quindi abbiamo:
Abbiamo così ottenuto che diviso per dà quoziente e resto.
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 .
Dividiamo ora per , ottenendo quoziente e resto . Come facciamo a trovarli ? Possiamo "indovinare" il quoziente, procedendo per tentativi, e calcolare il resto moltiplicando per e sottraendo da . È anche vero (e si potrebbe dimostrare rigorosamente) che il quoziente da indovinare, nel nostro caso , deve necessariamente essere minore di , 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ù, 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 del divisore, il che significa proprio moltiplicare per il resto precedente e sommare , ottenendo . Dividiamo poi per , 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ì:
Ritorniamo per un momento al primo passo del procedimento, quando dobbiamo trovare il quoziente di per (che, ricordiamo, consisterà di una sola cifra decimale, nel nostro caso ). 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 per la prima cifra di , ossia per ; questo è facile, e si può fare con le tabelline, provando a moltiplicare per , , eccetera, fermandosi all'ultimo numero che è ancora minore o uguale a . Nel nostro caso, poichè , si prende . Moltiplicando si ottiene , che è maggiore di , dunque è troppo grande. Diminuiamo allora il quoziente di una unità, e proviamo con . Poichè , che è minore di , il quoziente cercato è . Il resto si trova calcolando e sottraendolo da , dopo di che si continua.
Al passo successivo, per "indovinare" il quoziente di per , si può ancora provare a dividere per , sempre utilizzando le tabelline, e si ottiene . Poichè è minore di , il quoziente è 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: