Un algoritmo es un método para resolver un problema. Aunque la popularización del término ha llegado con el advenimiento de la era informática, algoritmo proviene de Mohammed al-Khowârizmi, matemático persa que vivió durante el siglo IX y 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. Euclides, el gran matemático griego (del siglo IV antes de Cristo) que inventó un método para encontrar el máximo común divisor de dos números, se considera con Al-Khowârizmi el otro gran padre de la algoritmia (ciencia que trata de los algoritmos).
Los
pasos para la resolución de un problema son:
1.
Diseño del algoritmo, que describe la secuencia ordenada de pasos —sin
ambigüedades— que conducen a la solución de un problema dado. (Análisis del
problema y desarrollo del algoritmo.)
2.
Expresar el algoritmo como un programa en un lenguaje de programación adecuado.
(Fase de codificación.)
3.
Ejecución y validación del programa por la computadora.
Para
llegar a la realización de un programa es necesario el diseño previo de un
algoritmo, de modo que sin algoritmo no puede existir un programa.
Los
algoritmos son independientes tanto del lenguaje de programación en que se
expresan como de la computadora que los ejecuta. En cada problema el algoritmo
se puede expresar en un lenguaje diferente de programación y ejecutarse en una
computadora distinta; sin embargo, el algoritmo será siempre el mismo. Así, por
ejemplo, en una analogía con la vida diaria, una receta de un plato de cocina
se puede expresar en español, inglés o francés, pero cualquiera que sea el
lenguaje, los pasos para la elaboración del plato se realizarán sin importar el
idioma del cocinero.
En
la ciencia de la computación y en la programación, los algoritmos son más
importantes que los lenguajes de programación o las computadoras. Un lenguaje
de programación es tan sólo un medio para expresar un algoritmo y una
computadora es sólo un procesador para ejecutarlo. Tanto el lenguaje de programación
como la computadora son los medios para obtener un fin: conseguir que el
algoritmo se ejecute y se efectúe el proceso correspondiente.
El
diseño de la mayoría de los algoritmos requiere creatividad y conocimientos
profundos de la técnica de la programación. En esencia, la solución de un
problema se puede expresar mediante un algoritmo.
La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida. En el algoritmo de receta de cocina citado anteriormente se tendrá:
·
Entrada: ingredientes y utensilios empleados.
·
Proceso: elaboración de la receta en la cocina.
·
Salida: terminación del plato (por ejemplo,
cordero).
Ejemplo
1.1
Un
cliente ejecuta un pedido a una fábrica. La fábrica examina en su banco de
datos la ficha del cliente; si el cliente es solvente entonces la empresa
acepta el pedido; en caso contrario, rechazará el pedido.
Redactar
el algoritmo correspondiente.
Los
pasos del algoritmo son:
2. Leer el pedido.
3. Examinar la ficha del cliente.
4. Si el cliente es solvente, aceptar pedido; en caso contrario, rechazar
5. pedido.
6. Fin.
Ver ejemplo y programarlo
https://www.dropbox.com/s/qivgh6r2d0s547m/CLASE.pdf?dl=0
https://www.dropbox.com/s/qptzv559hv93mgs/PROGRAMA.txt?dl=0