Por favor, activa JavaScript y desactiva tu adblock para este sitio

El Javatar

Blog dedicado a la Programación en Java, C, PHP, Phyton, HTML, SQL y Mucho Más

domingo, 6 de abril de 2014

¿Qué es un Algoritmo?

Que es un algoritmo
Según Wikipedia, un algoritmo es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. En palabras concretas, denominamos entonces algoritmo al conjunto de pasos ordenados y finitos que permiten resolver un problema o tarea específica.

Debes de tener en cuenta que los algoritmos son independientes del lenguaje de programación y de la computadora que se vaya a emplear para ejecutarlo. Además, todo algoritmo debe poseer las siguientes características:

1) Finito en tamaño o número de instrucciones (tiene un primer paso y un último paso) y tiempo de ejecución (debe terminar en algún momento). Por lo tanto, debe tener un punto particular de inicio y fin.

2) Preciso. Debe tener un orden entre los pasos

3) Definico. No debe ser ambiguo (dobles interpretaciones); si se ejecuta el mismo algoritmo el resultado siempre será el mismo, sin importar las entradas proporcionadas

4) General. Debe tolerar cambios que se pueden presentar en la definición del problema.


Toda actividad que realizamos la podemos expresar en forma de algoritmo. Existen dos tipos de algoritmos, los que se desarrollan para ser ejecutados por una computadora, llamados algoritmos computacionales, y los que realiza el ser humano, es decir, algoritmos no computacionales; como ejemplo de éstos tenemos:

1. Cambiar un neumático (llanta) de un automóvil.
2. Preparar unos "huevos a la mexicana"
3. Calcular el área de un triángulo

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo e incluso los lenguajes de programación entre otros, sin embargo, las descripciones en lenguaje natural tienden a ser ambiguas y extensas.

Al usar pseudocódigo y diagramas de flujo se logran evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.

La descripción de un algoritmo usualmente se hace en tres niveles:

- Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.

- Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.

- Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.

Esto es lo que como dicen por ahí, por cultura básica, es lo que debes saber acerca de los algoritmos. En artículos posteriores explicaré qué es pseudocódigo y diagramas de flujo, puesto que todos los algoritmos que presente serán expresados mediante una de estas dos formas.

No hay comentarios.:

Publicar un comentario