Definición de algoritmo
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos, instrucciones o reglas organizados que describe el proceso que se debe seguir, para dar solución a un problema específico en un tiempo finito. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución.
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su jefe.
Tipos de algoritmos
-
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Ejemplo: Diseñar un algoritmo para cambiar una llanta a un coche.
-
Inicio.
-
Traer gato Hidráulico.
-
Levantar el coche con el gato Hidráulico.
-
Aflojar tornillos de las llantas.
-
Sacar los tornillos de las llantas.
-
Quitar la llanta.
-
Poner la llanta de repuesto.
-
Poner los tornillos.
-
Apretar los tornillos.
-
Bajar el gato Hidráulico.
-
Fin
-
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
Características de los Algoritmos
Las características fundamentales que debe cumplir todo algoritmo son:
-
Debe ser preciso e indicar el orden de realización de cada paso.
-
Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
-
Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea, debe tener un número finito de pasos.
La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
Metodología para resolver un problema por medio del computador
1. Definición del Problema
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
2. Análisis del Problema
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
Los datos de entrada.
Cual es la información que se desea producir (salida)
Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación muy practica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.
3. Diseño del Algoritmo
Las características de un buen algoritmo son:
-
Debe tener un punto particular de inicio.
-
Debe ser definido, no debe permitir dobles interpretaciones.
-
Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
-
Debe ser finito en tamaño y tiempo de ejecución.
4. Prueba de escritorio
La prueba de escritorio es una herramienta útil para entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la especificación sin necesidad de ejecutarlo.
Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por lo tanto se debe llevar registro de los valores que va tomando cada una de las variables involucradas en el mismo
5. Codificación
La codificación es la operación de escribir la solución del problema (de acuerdo a la lógica del diagrama de flujo o pseudo código), en una serie de instrucciones detalladas, en un código reconocible por la computadora, la serie de instrucciones detalladas se le conoce como código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.
6. Prueba y Depuración
Los errores humanos dentro de la programación de computadoras son muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores, para dar paso a una solución sin errores se le llama depuración.
La depuración o prueba resulta una tarea tan creativa como el mismo desarrollo de la solución, por ello se debe considerar con el mismo interés y entusiasmo.
Resulta conveniente observar los siguientes principios al realizar una depuración, ya que de este trabajo depende el éxito de nuestra solución.
7. Documentación
Es la guía o comunicación escrita es sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas.
A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).
La documentación se divide en tres partes:
Documentación Interna
Documentación Externa
Manual del Usuario
-
Documentación Interna: Son los comentarios o mensaje que se añaden al código fuente para hacer mas claro el entendimiento de un proceso.
-
Documentación Externa: Se define en un documento escrito los siguientes puntos:
Descripción del Problema
Nombre del Autor
Algoritmo (diagrama de flujo o pseudo código)
Diccionario de Datos
Código Fuente (programa)
-
Manual del Usuario: Describe paso a paso la manera como funciona el programa, con el fin de que el usuario obtenga el resultado deseado.
8. Mantenimiento
Se lleva acabo después de terminado el programa, cuando se detecta que es necesario hacer algún cambio, ajuste o complementación al programa para que siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa este correctamente documentado.

