¿Que es un algoritmo?

Dale amor a este post!!!

Cuando queremos solucionar un problema, nos enfrentamos con la dificultad de tener que encontrar la manera correcta para poder resolverlo, pero pocas veces nos detenemos a pensar cuáles serían los pasos que deberíamos de seguir para poder dar solución a cualquier problema de manera adecuada.

Lo primero que debemos de tener muy claro es definir cuál es el problema a resolver y a partir de aquí se debe generar un objetivo el cual permitirá encontrar una solución al problema en cuestión.

Por ejemplo, el dolor de muela podría ser un problema y el objetivo seria encontrar la solución a ese problema ya sea acudiendo al doctor, tomar algún medicamento para el dolor o incluso quitarte la muela tu mismo, y no importando cual de los 3 elijas, deberas enfocarte en ese objetivo para resolver ese dolor de muela.

Una vez que tenemos claro este OBJETIVO, debemos de establecer ciertos pasos para llegar a cumplirlo, estos pasos tomarán el nombre de ALGORITMO.

"Un algoritmo es una serie de pasos estructurados que nos permiten cumplir un objetivo y por consecuencia resolver el problema planteado".

Los pasos estructurados significan que deberán ser ejecutados uno después del otro, ademas deberán ejecutarse de manera ordenada.

Entonces para entender un poco mejor de lo que estamos hablando vamos a definir el problema, el objetivo, la solución esperada y el algoritmo.

Y el algoritmo sería el siguiente:

“Se realiza una cita por teléfono, después se debe asistir al consultorio y una vez ahí, el doctor revisa al paciente y por ultimo, el doctor termina la consulta y da medicamento al paciente.”

Este algoritmo resulta ser un breve texto donde se explica el procedimiento para resolver el problema, pero,  para organizar este algoritmo en forma de pasos para que resulte mas entendible, lo podemos mostrar así:

Como observación tenemos que este algoritmo debe poseer lo siguiente:

  • Debe tener un titulo
  • Debe tener un inicio y un fin que ayude a delimitar.
  • Y los pasos deben estar enumerados.

Ahora, ¿cómo sabemos si este algoritmo cumple con el objetivo y obtiene la solución esperada?

Para este caso vamos a utilizar una herramienta llamada Prueba de Escritorio.

La prueba de escritorio es una simulación de la puesta en marcha de un algoritmo. Con esta podemos determinar si el algoritmo que hemos diseñado logra el objetivo y obtiene la solución, de no ser así podremos concluir que se debe corregir él algoritmo hasta lograr el resultado esperado.

Entonces para realizar la prueba de escritorio de este ejemplo deberíamos de realizar todos los pasos en un ambiente real.

Como te habrás dado cuenta el nivel de detalle de cada paso del algoritmo resulta ser muy general y en algunas situaciones podría considerarse que cada paso a su vez podría ser separado en más pasos para cumplir con el objetivo propuesto, pero aquí surge una gran pregunta:

¿Qué tan detallado debe ser un algoritmo?

Y esta respuesta puede ser tan complicada o tan sencilla de responder.

En lo personal te puedo comentar que el nivel de detalle de cada paso del algoritmo debe ser lo suficientemente entendible como para que no exista duda alguna cuando se realice la prueba de escritorio, además esto también dependerá de la capacidad de abstracción de cada persona ya que algunos algoritmos pueden ser más entendibles para unas personas que para otras.

Como ya has visto, tener un problema cualquiera, no debería de causar una dificultad mayor cuando se logra definir un objetivo claro a seguir e implementar un algoritmo eficaz que sea fácil de entender, que se encuentre ordenado y por supuesto que se pueda seguir paso a paso.

Puedes encontrar la explicación en video aquí:

Gracias por leer este post, saludos.


Dale amor a este post!!!