La palabra algoritmo tiene origen en el nombre de un matemático persa del s. IIX: Abu Abdallah Muḥammad ibn Mūsā al-Jawārizmī (Abu Yāffar). al-Jawarismi escribió tratados de aritmética y álgebra. Gracias a los textos de al-Jawarismi se introdujo el sistema de numeración hindú en el mundo árabe y, más tarde, en occidente.
En el x. XIII se publicaron los libros Carmen de Algorismo (un tratado de aritmética ¡en verso!) y Algorismus Vulgaris, basados en parte en la Aritmética de al-Jawarismi. Al Juarismi escribió también el libro «Kitab al jabr w'al-muqabala» (Reglas de restauración y reducción), que dio orgien a una palabra que ya conoces: «álgebra».
Abelardo de Bath, uno de los primeros traductores al latín de al-Jawarismi, empezo un texto con «Dixit Algorismi...» («Dijo Algorismo...»), popularizando así el término al-gorismo, que pasó a significar «realización de cálculos con numerales hindo-arábigos». En la edad media, los abaquistas calculaban con ábaco y los algorismistas con «algorismos».
En cualquier caso, el concepto de algoritmo es muy anterior a al-Jawarismi. En el siglo III a.C., Euclides propuso en su tratado «Elementos» un método sistemático para el cálculo del Máximo Común Divisor (MCD) de dos números. El método, tal cual fue propuesto por Euclides, dice así: «Dados dos números naturales, a y b, comprobar si ambos son iguales. Si es así, a es el MCD. Si no, si a es mayor que b, restar a a el valor de b; pero si a es menor que b, restar a b el valor de a. Repetir el proceso con los nuevos valores de a y b». Este método se conoce como «algoritmo de Euclides», aunque es frecuente encontrar, bajo ese mismo nombre, un procedimiento alternativo y más eficientes: «Dados dos números naturales, a y b, comprobar si b es cero. Si es así, a es el MCD. Si no, calcular c, el resto de dividir a entre b. Sustituir a por y b y b por c y repetir el proceso».
- Andrés Marzal e Isabel García, Introducción a la programación con Python.
Desconozco si esta historieta es cierta o no, pero me ha llamado la atención y la dejo aquí puesta.