Según Molero (s/f), el término algoritmo proviene del nombre del matemático llamado Muhammad ibn Musa al-Jwarizmi que vivió entre los siglos VIII y IX, quien escribió entre los años 800 y 825 la obra Quitab Al Jabr Al Mugabala, donde se recogía el sistema de numeración hindú y el concepto del cero. Alcanzó gran reputación por el enunciado de las reglas paso a paso para sumar, restar, multiplicar y dividir números decimales; la traducción al latín del apellido en la palabra algorismus derivó posteriormente en algoritmo (Buelvas, 2009).
En el caso específico de las ramas de la informática y la computación, su concepto se remonta al año 1975 con el profesor Niklaus Wirth (padre del Lenguaje de Programación Pascal) quien lo definía como "una descripción de acciones que deben ser ejecutadas y una descripción de los datos que son manipulados por esas acciones" (Joyanes, 1992). De acuerdo a ello, su estructura fundamental está conformada por dos elementos: datos y acciones.
Ahora bien, si se va a un concepto más general, Capouya (2009) define un algoritmo como "una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas". Joyanes (1992), es aún más preciso al afirmar que es "una forma de describir la solución de un problema". Esta secuencia puede puede representarse "bien sea a mano o, más frecuentemente, en una
máquina” (Brassard y
Bratley, 2000; citado por Buelvas, 2009) y debe cumplir con las siguientes características (Castillo, 2009):
- Preciso: el orden de los pasos debe ser exacto y cumplir exactamente con los objetivos propuestos - la solución al problema planteado.
- Definido: si el mismo algoritmo es resuleto dos veces, en ambas ocaciones su resultado debe ser el mismo.
- Finito: debe tener un inicio y un fin; es decir, tiene un número determinado de pasos.
En todo caso, y de acuerdo a lo anterior, un algoritmo consiste en una secuencia precisa y bien definida de operaciones o pasos que resuelven un problema en un tiempo finito, bien sea de forma escrita como a través de una máquina.
Para ilustrar estos conceptos, obsérvese el siguiente video:
Referencias:
- Buelvas, E. (2009). Fundamentos de un algoritmo [Documento en línea]. Disponible: http://edgardobuelvas0407.wordpress.com/generalidades/anexo-3-fundamentos-de-un-algoritmo/ [Consulta: 2014, Marzo 22].
- Capouya, A. (2009). Apuntes de Informática [Documento en línea]. Disponible: http://informaticafrida.blogspot.com/2009/03/algoritmo.html [Consulta: 2014, Marzo 22].
- Castillo, J. (2009). Algoritmos [Documento en línea]. Disponible: http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml [Consulta: 2014, Marzo 21].
- Joyanes, L. (1992). Metodología de la Programación. México: McGraw Hill.
- Molero, L. (s/f). Introducción a la computación [Documento en línea]. Disponible: http://www.urbe.edu/info-consultas/web-profesor/12697883/archivos/Introduccion%20a%20la%20computacion2/Ingenieria/Contenido%20Materia/UnidadII-Datos-AlgoritmoyPseudocodigos.pdf [Consulta: 2014, Marzo 22].
No hay comentarios:
Publicar un comentario