Sei sulla pagina 1di 4

Historia del Algoritmo

La palabra algoritmo proviene del nombre del matemtico llamado Abu Abdullah Muhammad bin
Musa al-Khwarizmi (hay muchas variantes para el nombre al usar el alfabeto latin, tales como Al-
Khorezmi, Al-Khwarizmi, Al-Khawarizmi, Al-Khawaritzmi o Al-Khowarizmi) que vivi entre los siglos
VIII y IX.

Su trabajo consisti en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus


libros eran de fcil comprensin, de ah que su principal valor no fuera el de crear nuevos teoremas o
nuevas corrientes de pensamiento, sino el de simplificar las matemticas a un nivel lo suficientemente
bajo para que pudiera ser comprendido por un amplio pblico. Cabe destacar cmo seal las
virtudes del sistema decimal indio (en contra de los sistemas tradicionales rabes) y cmo explic que,
mediante una especificacin clara y concisa de cmo calcular sistemticamente, se podran definir
algoritmos que fueran usados en dispositivos mecnicos similares a un baco en vez de las manos.
Tambin estudi la manera de reducir el numero de operaciones necesarias que formaban el clculo.

Por esta razn, aunque no haya sido l el inventor del primer algoritmo, merece que este concepto
est asociado a su nombre. Al-Khorezmi fue sin duda el primer pensador algortmico.

Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La autora fue Ada
Byron, en cuyos escritos se detallaban la mquina analtica en 1842. Por ello que es considerada por
muchos como la primera programadora aunque, desde Charles Babbage, nadie complet su mquina,
por lo que el algoritmo nunca se implement.

La idea de resolver un problema o de disponer de un algoritmo es bastante antigua, tal es as, que
exista la errada creencia que no haba problema que no se pudiera resolver y en base a ello, el
matemtico David Hilbert quiso descubrir un algoritmo para los algoritmos. Hoy en dia gracias a los
trabajos de Kurt Gdel, Alonzo Church (calculo lamba), Alan Turing (maquina de turing), se sabe que
dentro del universo de problemas, una pequea parte es computable, luego que el objetivo que
perseguia David Hilbert no era computable, es lo que se ha denominado como la computabilidad de
los algoritmos.

1.1 Definicin de algoritmo

Un algoritmo es una secuencia de pasos lgicos necesarios para llevar a cabo una tarea especifica,
como la solucin de un problema. Los algoritmos son independientes tanto del lenguaje de
programacin en que se expresan como de la computadora que los ejecuta. En cada problema el
algoritmo se puede expresar en un lenguaje diferente de programacin y ejecutarse en una
computadora distinta; sin embargo el algoritmo ser siempre el mismo.

Caractersticas de los algoritmos

Las caractersticas fundamentales que debe cumplir todo algoritmo son:

Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso.

Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo
resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento; o sea debe
de tener un nmero finito de pasos.

La definicin de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.

En el algoritmo citado anteriormente se tendr:

Entrada ingredientes y utensilios empleados

Proceso elaboracin de la receta de cocina

Salida terminacin del plato (por ejemplo, cordero)

Un algoritmo exige que se tengan varias propiedades importantes:

Los pasos de un algoritmo deben ser simples y exentos de ambigedades (diferentes significados),
deben seguir un orden cuidadosamente prescrito, deben ser efectivos y deben de resolver el problema
en un nmero finito de pasos.

Diagramas estructurados (Nassi - Schneiderman)

El diagrama estructurado N-S es una tcnica hibrida (una mezcla) entre Diagramas de Flujo y
Pseudocdigo.

Esta tcnica, tambin conocida como Diagrama de Chapn, utiliza una serie de cajas, similar a los
diagramas de flujos, pero no requiere la utilizacin de flechas, debido a que su flujo siempre es
descendente.

Diagramas Nassi-Schneiderman

Caractersticas de un buen diagrama Nassi-Schneiderman:

En la primera caja debe ir el nombre o ttulo del algoritmo, en el recuadro siguiente debe ir la
palabra Inicio.
La ltima instruccin de un Diagrama NS debe ser el recuadro Fin.
Todas las declaraciones de variables, funciones deben estar especificadas bajo el recuadro que
contiene la palabra Inicio.
Las estructuras de seleccin y cclicas deben estar lo ms clara posible
El diseo debe caer en una hoja, a excepcin de la utilizacin de funciones, las cuales pueden
estar en otra hoja, debido a que se consideran un algoritmo diferente.

Desventajas de los diagramas NS:

En algoritmos extensos su diseo es muy difcil de comprender.


La mantencin modificacin de este tipo de diagramas es tediosa.
Requiere de hojas muy extensas para ser escrito, debido a que carece de conectores que
permitan su conexin con otras hojas.

Beneficios del Diagrama de Flujo[1]

En primer lugar, facilita la obtencin de una visin transparente del proceso, mejorando su
comprensin. El conjunto de actividades, relaciones e incidencias de un proceso no es fcilmente
discernible a priori. La diagramacin hace posible aprehender ese conjunto e ir ms all, centrndose en
aspectos especficos del mismo, apreciando las interrelaciones que forman parte del proceso as como
las que se dan con otros procesos y subprocesos.

Permiten definir los lmites de un proceso. A veces estos lmites no son tan evidentes, no estando
definidos los distintos proveedores y clientes (internos y externos) involucrados.

El diagrama de flujo facilita la identificacin de los clientes, es ms sencillo determinar sus necesidades
y ajustar el proceso hacia la satisfaccin de sus necesidades y expectativas.

Estimula el pensamiento analtico en el momento de estudiar un proceso, haciendo ms factible


generar alternativas tiles.

Proporciona un mtodo de comunicacin ms eficaz, al introducir un lenguaje comn, si bien es cierto


que para ello se hace preciso la capacitacin de aquellas personas que entrarn en contacto con la
diagramacin.

Un diagrama de flujo ayuda a establecer el valor agregado de cada una de las actividades que
componen el proceso.

Igualmente, constituye una excelente referencia para establecer mecanismos de control y medicin de
los procesos, as como de los objetivos concretos para las distintas operaciones llevadas a cabo.

Facilita el estudio y aplicacin de acciones que redunden en la mejora de las variables tiempo y costes
de actividad e incidir, por consiguiente, en la mejora de la eficacia y la eficiencia.

Constituye el punto de comienzo indispensable para acciones de mejora, rediseo o reingeniera.


Figuras de Diagramas de Flujo

Las actividades de anlisis y diagramacin de procesos ayudan a la organizacin a comprender cmo se


estn desarrollando sus procesos y actividades, al tiempo que constituyen el primer paso para mejorar
las prcticas organizacionales.

Potrebbero piacerti anche