Qué es un algoritmo y cómo funciona

Resumen

Un algoritmo en programación es un conjunto de instrucciones que resuelven un problema paso a paso sin ambigüedades. Si vienes del mundo de la programación orientada a objetos, este concepto te ayuda a darle lógica y orden a esos objetos para que tu programa se comporte como esperas.

¿Qué relación tienen los algoritmos con la programación orientada a objetos?

La programación orientada a objetos te permite estructurar el código y abstraer cualquier elemento del mundo real como un objeto dentro de la computadora. Pero los objetos por sí solos no hacen nada.

Piensa en el fútbol: tienes la pelota, los jugadores y la cancha como objetos, pero sin reglas ni pasos a seguir, no hay partido. Esos pasos son los algoritmos, y son los que permiten que tu programa funcione.

¿Qué es un algoritmo? Es una secuencia ordenada de instrucciones que resuelve un problema de forma clara, sin ambigüedades y siempre con el mismo resultado si los pasos se repiten igual.

¿Cómo se entiende un algoritmo con el ejemplo de los tacos?

Imagina que quieres preparar tacos. Aquí ya tienes varios objetos: cilantro, cebolla, tortilla, carne, salsa y limón. Juntos forman un objeto más grande que es el taco.

Pero conseguir los ingredientes no te da tacos automáticamente. Necesitas instrucciones concretas para transformarlos.

¿Cuáles serían los pasos del algoritmo para hacer tacos?

Las instrucciones, en orden, serían así:

  1. Compra tortillas, carne, cilantro, cebolla, tomate para salsa, chile y limón.
  2. Cocina la carne.
  3. Pica el tomate, pica la cebolla y pica el cilantro.
  4. Mete el tomate y el chile en la licuadora y prepara la salsa.
  5. Calienta las tortillas.
  6. Agarra una tortilla, colócale carne y agrega cilantro, cebolla, salsa o limón según lo que prefiera la persona.

Si sigues esos pasos al pie de la letra, no vas a terminar con un sándwich, una pizza, agua de jamaica o café. Vas a terminar con tacos. Y ahí está la magia: el algoritmo no deja espacio a la ambigüedad.

¿Por qué un algoritmo siempre produce el mismo resultado?

Porque está diseñado para ser reproducible. Si repites las instrucciones una vez, obtienes tacos. Si las repites mil veces, obtienes tacos. Y si picaste la cebolla igual y cocinaste la carne de la misma forma, los tacos van a ser idénticos.

Esa propiedad de reproducibilidad sin ambigüedad es justo lo que buscamos en un programa: que se comporte de manera predecible cada vez que se ejecuta.

¿Por qué los algoritmos son clave en tu carrera como desarrollador?

En tus programas vas a tener dos cosas: objetos o elementos, y una lógica que define cómo interactúan. Esa lógica, esa serie de pasos a seguir, es lo que conocemos como algoritmo.

¿Para qué sirve un algoritmo en programación? Sirve para que tu programa se comporte de la forma esperada, transformando datos de entrada en un resultado predecible siguiendo pasos ordenados.

Ya sea que quieras desarrollar videojuegos, aplicaciones web o cualquier tipo de software, dominar algoritmos es lo que te permite traducir un problema del mundo real en código funcional. Los objetos te dan la estructura; los algoritmos le dan vida.

En la próxima clase vamos a instalar Visual Studio para empezar a llevar todo esto a la práctica. ¿Qué otro ejemplo cotidiano se te ocurre que pueda explicarse como algoritmo? Cuéntamelo en los comentarios.