Un algoritmo es conjunto de pasos, donde cada paso puede ser descrito con claridad, y que tienen un propósito o finalidad que se desea lograr.
Discusión sobre ¿Qué es un algoritmo?
Algunos señalan que se trata de una "secuencia lógica y finita", sin embargo si un algoritmo no se encuentra diseñado correctamente, ¿lo descalificaría como algoritmo?, quizá podríamos señalar que el algoritmo es incorrecto o incompleto, pero no llegar a desecharlo, un algoritmo podría incluso contener errores y no ser evidentes (sino no existirían tantos parches sobre los distintos softwares que utilizamos).
Otros señalan que "si se ejecuta un algoritmo varias veces se debe obtener siempre el mismo resultado", sin embargo esta expresión no es completa ni precisa, ya que dependerá de las condiciones bajo las cuales se ejecute un algoritmo, piense por ejemplo en una función de Excel, si le pase lo mismos datos, por supuesto que debe entregar el mismo resultado, sin embargo si cambia los datos entregados a una función obtendrá un resultado distinto, o incluso obtendrá distintos errores si no se le pasan los datos correctamente.
Otras definiciones incluyen que debe "solucionar un problema" o "Cumplir con un objetivo", sin embargo en algunos tipos de problemas una solución parcial puede ser suficiente.
¿Qué se debe tener en cuenta para crear un algoritmo?
Se debe tener en cuenta distintas consideraciones:
- Las condiciones iniciales bajo las cuales se podrá iniciar la ejecución del algoritmo, por ejemplo si estamos por crear una nueva función en Excel deberíamos pensar cuales son los parámetros que esta función debería recibir.
- Diseñar la lógica o condiciones que se deben cumplir o realizar como parte de la ejecución del algoritmo.
- Identificar el objetivo al cual se desea llegar.
- Probar el funcionamiento del algoritmo bajo distintas condiciones, a fin de realizar los ajustes que sean necesarios.
Los algoritmos son independientes de los lenguajes de programación, el algoritmo permite responder cómo se intentará resolver un problema, mientras que el lenguaje de programación es el medio por el cual se implementará el algoritmo, por ejemplo un puede tener objetivo puede ser viajar de la ciudad A a la ciudad B usando un taxi, en este ejemplo el lenguaje de programación sería la marca y modelo del taxi en el cual se produce el viaje.
Características de los algoritmos
Algunas de las características mas importantes son:
Preciso: Debe ser lo mas claro posible, evitar las ambigüedades en cada paso del algoritmo.
Confiable: Si el algoritmo es empleado varias veces bajo las mismas condiciones, se debe obtener el mismo resultado.
Parámetros claros: puede tener cero, uno, o varios datos iniciales bajo los cuales debe recibir para poder funcionar.
Resultados predecibles: Los resultados de los algoritmos deben ser predecibles debido a que siguen reglas específicas para su funcionamiento.
¿Qué es un algoritmo en Informática?
Un algoritmo es una secuencia de instrucciones, de acuerdo un proceso definido, y que tiene como finalidad entregar un resultado.
Para los programadores es importante tener identificado como se debe resolver un problema antes de iniciar la resolución del mismo, es decir antes de escribir un programa se debe conocer cual será el algoritmo a utilizar, para ello los programadores cuentan con herramientas como "Diagramas de flujo" para documentar los algoritmos, los programadores pueden o no emplear estos "Diagramas de flujo" para crear iniciar la creación de los programas en función de la complejidad de lo que se vaya a crear y a la experiencia que posean.