20 de novembre del 2016

Algoritmes històrics (i no tan històrics) de la resta.

Poc més es pot afegir al tema de l'algoritme de la resta del que han escrit en quatre magnífics articles el David Barba i la Cecilia Calvo al blog del PuntMat. Entre altres coses perquè al blog s'atén més, com hauria de ser,  el problema global de la resta que no el de l'ús d'un algoritme concret. Però un tuit que ha corregut aquests darrers dies i algun algoritme històric guardat al calaix des de fa temps m'ha esperonat a escriure també sobre el tema.

Voldria començar, però, explicant una petita història personal relacionada amb els mètodes per restar. El meu avi era venedor ambulant de ganiveteria. En els períodes de vacances em tocava acompanya-lo pels diferents mercats de Barcelona i la meva feina era tornar els canvis de les vendes. Devia tenir cinc o sis anys i era desesperant haver de fer les restes de cap. Estem parlant de la dècada dels 60 on encara els preus anaven, generalment, a les desenes de cèntim (també hi havia monedes de 5 cèntims).


El meu avi, al veure la meva lentitud operativa, em va salvar la vida explicant-me que el que havia de fer era completar els diners que em donaven  a partir del cost de la venda. Per exemple si la venda era de 17,20 ptes. i em pagaven amb "cinc duros" (25 ptes.), primer anava comptant fins a completar 18 ptes (80 cèntims), després seguia fins a 20 (2 ptes.) i, finalment fins a 25 (un duro, 5 ptes.). Cal dir que no em preocupava del total del canvi. Anava completant i prou. Si hagués volgut saber el resultat de la resta només hauria calgut sumar els "lliuraments" parcials: 0,80+2+5 = 7,80 ptes. És el mètode que vaig continuar utilitzant en les restes "no escolars": anar completant. A l'escola, evidentment, s'havia de fer d'una altra manera. En el fons el mètode de l'avi és un algoritme molt més natural perquè treballa amb quantitats i no amb xifres. Una de les grans limitacions dels algoritmes estàndard per ajudar a desenvolupar el sentit numèric dels alumnes és que, fent treballar xifra a xifra, ens fan perdre de vista els nombres, las quantitats amb les que operem. Més tard he sabut que l'algoritme escrit històric conegut com "austríac", que apareix explicat com a algoritme escrit a la Logistica quae et arithmetica de Jean Buteo, un llibre del 1559, era més proper al mètode de l'avi que a l'escolar.

Tornem al tuit esmentat abans, autoria de @MarcChubb3, autor del blog Thinking mathematically. En ell es veia una sorprenent resta.

Immediatament apareixen algunes peguntes:
  • Com s'ha fet la resta?
  • Funciona sempre?
  • Com es pot justificar el mètode?
  • Com es pot generalitzar a restes de més de dues xifres?
A continuació expliquem aquesta resta i mostrarem també alguns algoritmes històrics. Entre ells un que elimina "del tot" el problema de la "resta portant"
  • Respostes a la resta "misteriosa"

Com s'ha fet? Funciona sempre?

Està clar que primer es resten les desenes (70-50=20) i que després, veient que no "podem treure" 8 d'1, el que fem és restar 8 i 1 i, a continuació, restar aquest resultat del 20 anterior, obtenint així la diferència buscada: 20-7=13.

No és difícil veure que el mètode funciona sempre que l'apliquem a casos com l'anterior en els que les unitats del subtrahend són més grans que les del minuend. Si no és així es fa una resta "normal" (sense portar).
Una de les coses que cal dominar per fer aquest tipus de resta és el complement a la desena perquè el pas 20-7=13 de la primera o el 30-4=26, de la segona, no es vegin com a "restes portant".

Com es pot justificar el mètode? Com es pot generalitzar a restes de més de dues xifres?

Al blog origen del tuit s'adjunta una imatge amb l'explicació del procés de càlcul seguit per l'alumne autor de la resta.

És un magnífic exemple d'ús de la recta numèrica en blanc per explicar un mètode de càlcul. Els amics del PuntMat van respondre al tuit fent també una aportació.

En tots dos casos se'ns justifica el càlcul concret de 71-58=20-7=13 però, al meu parer, no queda prou justificat com a algoritme. Però potser comencem per aquí. Descrivint l'algoritme per, després, justificar-lo. I per descriure'l el generalitzarem a restes de més de dues xifres (exercici que recomanaria fer abans de continuar llegint). La descripció de l'algoritme la farem a partir de dos exemples:
Es pot veure que procedim sempre d'esquerra a dreta. Si les xifres del subtrahend són menors que la del minuend restem els valors i escrivim el resultat, completant-lo amb zeros per obtenir el valor del grau d'unitat. En aquest cas el resultat "s'afegirà". Si les xifres del subtrahend són més grans que les del minuend, restem els seus valors (el gran del petit) i, tot completant amb zeros, escrivim el resultat per restar-lo.


Mirat així descobrirem que el càlcul amb enters, per graus d'unitat, ens justifica perfectament aquest procediment:

923 - 751 = (900-700) + (20-50) + (3-1) = 200 - 30 + 2 = 172
4376 - 928 = (4000-0) + (300-900) + (70-20) + (6-8) = 4000 - 600 + 50 - 2 = 3448


Aquest mètode de restar es coneix amb el nom de resta per diferències parcials.

Un algoritme històric per fer amb àbac

Un dels mètodes que s'utilitzaven per fer restes amb àbac es basava en transformar les restes en sumes. De retruc, curiosament, eliminem d'un cop el problema de "la resta portant". Encara que, ja que no defensem didàcticament els algoritmes opacs, no l'aconsellem per substituir altres algoritmes tradicionals. En tot cas no fins que s'entengui què s'està fent. Mirem com funciona a partir d'un exemple i sense cap explicació. Penseu què s'està fent i, un cop descobert, intenteu justificar per què funciona. Només després de fer això us animem a mirar quina és la seva justificació matemàtica.



El fonament d'aquest algoritme és que si a una resta li sumem una quantitat i després la traiem no variem el resultat final. Els nombres "misteriosos" que substitueixen als dels subtrahend són els complementaris a 9 de cada xifra (4 → 5, 8 → 1, 7 → 2). De fet és com si haguéssim sumat 999 al resultat de la resta. Per esbrinar el resultat correcte estem obligats a treure aquest 999. Per fer-ho ràpidament fem 1000-1. Com? Traiem 1000 (tatxant l'1 de l'esquerra) i sumant 1 a les unitats.



Aquest mètode es va utilitzar també en unes de les primeres calculadores mecàniques que es van comercialitzar: els comptòmetres. La majoria d'aquestes calculadores només feien una operació: sumar. El seu èxit comercial va ser degut, entre altres aspectes, que els nombres es podien escriure molt ràpidament perquè només cala prémer una tecla per fer-ho.


En alguns comptòmetres es podien veure en una mateix tecla la xifra principal i, més petita al costat, el seu complementari a 9 per facilitar la resta.

Detall del teclat d'un comptòmetre


Altres algoritmes històrics

Mirant llibres d'aritmètica antiga descobrirem que la primera part de la introducció a la resta es dedica a denominar els nombres que intervenen, amb diferents noms, i a ensenyar-nos com col·locar-los: el gran sobre el petit, alineats des de la dreta... Per exemple, el minuend rep noms com "presta", "deute" o "rebut", i el subtrahend accepcions com "paga" o "despesa". La majoria dediquen una especial atenció (com no?) al cas de la resta portant.

Per exemple, a la Summa de l'art d'Aritmètica de Francesc de Sant Climent, publicada en català a l'any 1482 i que va ser el primer libre de matemàtiques imprès a la península, pel cas en que "no s'ha de portar" es diu:
"Si lleves una figura d'una altra major, deus escriure lo de què és major de dret aquella figura"
Traduït al llenguatge actual significa que "si restes una xifra d'una altre més gran has d'escriure quant és més gran".

Mirem ara diferents propostes on es dóna el cas de que la xifra del minuend és més petita que del subtrahend.
  • Complementar a 10
És el mètode explicat al llibre de Sant Climent

...si lleves una figura major d'una menor, no es podrà fer. Empero diràs així. Posant cas que diguessis 7 qui es lleva de 5, no es podria fer.  en semblant raó deus anar fins a una desena complida, dient així: 7 que els lleva de 5, no es pot fer, emperò de 7 fins en 10 n'ha d'anar  3, los quals es deuen ajustar amb los 5, i seran 8. Los quals 8 s'han de metre en son dret ordre, segons havem dit dessús. I amb la desena que tenim devem ajustar a l'altre ordre. Ajustant-la com ara, posant que l'ordre següent fos 3 i 1 serien 4. Los quals deus llevar de la figura que li és damunt.
95
-37
58


Si ho tornem a "traduir", i aclarint que figura significa "xifra" i ajustar és "sumar", entenem que hem de complementar a 10 la xifra del subtrahend, sumar la del minuend, afegir 1 a la xifra següent del minuend... i continuar la resta. Si ho pensem, a l'exemple del text, estem comptant des de 7 a 15 fent

(10-7)+5=3+5=8

Mirem una resta d'exemple

Aquest mètode el trobem explicat també en altres llibres posteriors. En aquest cas a la xifra se li diu letra.
Text del Libro primero d'arithmética algebratica (1552) de Marco Aurel

  • Agafar en préstec
És la forma de "resta portant" que majoritàriament s'ensenya a les escoles actualment. El mètode consisteix en reduir en una unitat a la xifra situada immediatament a l'esquerra de la que estem restant tot afegint-li una desena a la nostra. Després es compta quant podem treure (si anem de dalt a baix) o quant li falta, si mirem de baix a dalt.
Encara que aquesta manera de procedir ens pot semblar relativament moderna és tan antiga o més que l'anterior. Per exemple la trobem al Tratatto di numeri et mesuri de Tartaglia, publicat al 1556, gairebé al mateix temps que el de Marco Aurel.

Exemple de resta portant al llibre de Tartaglia

Segons Vicente Meavilla, un dels autors a consultar sobre algoritmes antics (per exemple a Aspectos históricos de las matemáticas elementales o La sinfonia de Pitágoras) aquest mètode ja apareixia a un libre del segle XII: El libre del nombre (Séfer ha-Mispar) del jueu-andaús Abraham ibn Ezra. Podeu trobar una versió traduïda a l'alemany en aquest enllaç.
  • Agafar en préstec i tornar-ho
Seria l'algoritme tradicional que s'ha ensenyat tradicionalment a l'escola. A l'exemple comencem dient "de 6 a 15 van 9" i, a continuació "4 i 1 són 5, de 5 a 12 van 7", etc.


Novament el mètode es ben antic. Apareix al Liber abaci (1202) de Leonardo da Pisa (conegut com a Fibonacci) o a l'Aritmètica pràctica y especulativa (1562) de Juan Pérez de Moya, un llibre que va ser "llibre de text" fins el segle XVIII
La "resta portant" explicada per Juan Pérez de Moya

Encara més formes de restar

Potser perquè l'algoritme de la resta, i especialment el de la "resta portant", és un moment dramàtic de l'aprenentatge algorítmic (en el cas de que posem molt més el pes en els algoritmes que en mètodes de càlcul més naturals) per poc que busquem anirem trobant altres formes d'abordar la resta. Mirem alguns altres exemples:

  • Restar d'esquerra a dreta

En molts algoritmes antics les operacions es realitzaven d'esquerra a dreta, en comptes de dreta a esquerra com ho fem ara. Treballar amb els graus d'unitats grans a petits no fa perdre els sentit del nombre d'una forma tan exagerada com la fer fer-ho començant per les unitats, passar a les desenes, etc. La principal raó del canvi de sentit a l'operar és que, fent-ho com ho fem ara, ens estalviem tatxar, podem "anar guardant" coses al cap. Mirem com es faria la resta anterior començant des de l'esquerra.
A la resta clàssica (prestar i tornar) s'afegeix una unitat a la xifra anterior del subtrahend. A la resta actual (prestar) es rebaixa en una unitat la xifra anterior del minuend. En aquesta resta el que es rebaixa en una unitat del resultat. Té sentit. En el nostre exemple comencem fent 70-50=20 però després es veu que traurem "moltes mes unitats" de les que tenim. Per tant hem tret menys de 20 i baixem les desenes a 10.
  • La resta suïssa

Aquesta forma de restar, segons m'ha explicat la Montserrat Torra, és l'algoritme que s'explica a les escoles de Suïssa. No he trobat cap document per corroborar-ho, però me'n refio molt de la Montserrat. En algun lloc també l'he llegit com "model expandit" de la resta. Bàsicament consisteix en anar desmuntant les centenes, desenes i unitats (per a una resta de tres xifres) perquè totes les restes parcials es puguin anar fent. Poc a poc els alumnes aniran deixant d'escriure passos intermedis.

  • La resta de Lagrange
És una variant de la resta que he explicat anteriorment per realizar en àbac. Em sembla més complex en la forma d'aplicar-ho però no està de més incloure'l. L'atribució d'aquest algoritmo al matemàtic Lagrange sembla que prové d'un llibre del 1986 d'E.S Pearson: Summing It All Up: Pre-1900 Algorithms. Es tracta de calcular amb els complementaris a 9 per a cada columna (menys a la primera de la dreta  que es fa el complementari a 10) i sumar després la xifra del minuend. Si el resultat d'aquesta suma és 10 o més afegirem una unitat al resultat de la columna següent. A la darrera columna de l'esquerra no s'escriu l'u de les desenes del resultat.
Si es coneix la justificació del algoritme per restar amb àbac no és difícil justificar també aquest.

I a l'aula?

Com en altres casos que hem anat presentant en aquest blog sobre algoritmes antics el més interessant és descobrir com funcionen a partir de veure reproduir els càlculs en silenci (una presentació, anar-los fent a la pissarra en silenci...) i, a continuació, intentar-los justificar.


Cap comentari:

Publica un comentari a l'entrada