Mtro. Fernando Arciniega

Pasos para Resolver Problemas con Algoritmos

Pasos para Resolver Problemas con Algoritmos

¿Alguna vez te has sentido bloqueado frente a un problema complejo? Ya sea en el estudio, en el trabajo o incluso intentando planificar un viaje, a veces el desafío parece tan grande que no sabemos por dónde empezar. Sentimos que nos falta una “mente de ingeniero”.

Pero, ¿y si te dijera que la programación, la ingeniería y hasta la cocina tienen un secreto en común? Una receta paso a paso, no para hacer un pastel, sino para resolver problemas. Se llama algoritmo.

Y no, no es una palabra aterradora reservada para genios de la informática. Vamos a aclarar algo: tú ya usas algoritmos todos los días. La receta para hacer tu café por la mañana, las instrucciones para armar un mueble, la ruta que sigues para llegar al trabajo… todos son algoritmos. Dicho de otro modo, son simplemente una lista de pasos finitos y ordenados para lograr un objetivo.

El verdadero superpoder es aprender a crear estos mapas mentales a voluntad. ¿Listo para aprender la fórmula?

Paso 1: Entender el Problema (El 90% del Trabajo)

Este es, en mi experiencia, el paso que la mayoría de la gente se salta. Y es el más crítico. Saltar a la solución sin entender el problema es como intentar correr un maratón sin saber dónde está la meta.

Antes de escribir una sola línea de código o trazar un plan, pregúntate sin piedad:

¿Qué tengo exactamente? (Los “Inputs” o Entradas). ¿Tengo números, texto, una lista de la compra, un montón de libros desordenados?

¿Qué quiero conseguir? (Los “Outputs” o Salidas). ¿Quiero un número, una frase, la lista ordenada, los libros separados por color?

¿Hay reglas o limitaciones? (Las “Restricciones”). ¿Tengo poco tiempo? ¿Poca memoria? ¿El jefe lo quiere en formato PDF?

Imagina que un amigo te dice: “Ayúdame a organizar mi música”.

Si te lanzas sin más, podrías pasar horas ordenándola por nombre de artista. Pero quizás tu amigo la quería ordenada por género musical o por año. Fracaso total. El primer paso siempre es preguntar y definir.

Paso 2: Diseñar el Plan (El Momento “¡Eureka!”)

Una vez que sabes qué hacer, empieza la parte divertida: el cómo. Aquí es donde te pones el sombrero de detective y trazas el plan. No te preocupes por el lenguaje de programación aún, ni siquiera por la computadora.

Coge un lápiz y papel. En serio.

La idea es crear un borrador de tu “receta” en lenguaje humano. A esto, los programadores le llaman pseudocódigo. Suena elegante, pero es literalmente “código falso”. Es escribir los pasos en español.

Para el problema de la música de tu amigo (que ya sabemos que la quiere por género), tu plan podría ser:

1. Tomar la primera canción de la pila.

2. Mirar su género musical (ej. “Rock”).

3. ¿Ya tengo una caja para “Rock”?

Si SÍ: Poner la canción en esa caja.

Si NO: Crear una nueva caja con la etiqueta “Rock” y poner la canción dentro.

4. Repetir los pasos 1, 2 y 3 con todas las canciones que queden.

5. Fin.

¡Felicidades! Acabas de diseñar un algoritmo de clasificación.

Paso 3: Probar el Plan (La Prueba de Fuego)

¿Confiarías en una receta de un pastel que nadie ha cocinado nunca? Yo tampoco.

Antes de construir la solución final (escribir el código, mover los CDs, etc.), tienes que probar tu plan. A esto se le llama prueba de escritorio.

Coge tu pseudocódigo (el plan del Paso 2) y haz una simulación mental con datos de prueba pequeños.

Caso de Prueba 1: Una pila con 3 canciones: [“Bohemian Rhapsody” (Rock), “Thriller” (Pop), “Smells Like Teen Spirit” (Rock)].

1. Tomo “Bohemian Rhapsody” (Rock). ¿Tengo caja de Rock? No. La creo y meto la canción.

2. Tomo “Thriller” (Pop). ¿Tengo caja de Pop? No. La creo y meto la canción.

3. Tomo “Smells Like Teen Spirit” (Rock). ¿Tengo caja de Rock? Sí. Meto la canción en esa caja.

4. ¿Quedan canciones? No.

Resultado: Una caja de Rock con 2 canciones y una caja de Pop con 1. Funciona.

¿Y qué pasa si la pila está vacía? Tu plan debe contemplarlo. ¿Y si una canción no tiene género? Tu plan también debería. Aquí es donde descubres los fallos de tu lógica antes de que cuesten tiempo y dinero.

Paso 4: Traducir y Construir (La Fase de “Picar Código”)

Solo AHORA es el momento de abrir la computadora. Este paso es, aunque suene irónico, el más mecánico de todos.

El verdadero trabajo de “pensar” ya lo hiciste en los pasos 1, 2 y 3. Ahora solo tienes que traducir tu pseudocódigo (tu plan en español) a un lenguaje específico, ya sea Python, JavaScript, Java, o incluso instrucciones detalladas para un compañero de trabajo.

Si tu plan del Paso 2 está bien hecho, este paso es pan comido. Si te atascas aquí, es muy probable que el error no esté en el código, sino que tu plan del Paso 2 estaba incompleto.

Paso 5: Refinar y Optimizar (Hacerlo Mejor)

Tu algoritmo funciona. Genial. Pero… ¿funciona bien?

• ¿Tarda mucho?

• ¿Gasta muchos recursos (memoria, batería…)?

Aquí es donde entra la optimización. Es la diferencia entre un mapa que te lleva a tu destino en 2 horas y otro que te lleva en 30 minutos. Ambos funcionan, pero uno es claramente mejor.

En nuestro ejemplo de la música, quizás te das cuenta de que ir canción por canción es lento si tienes 10,000 canciones. A lo mejor es más rápido si primero ordenas toda la lista por género alfabéticamente y luego solo haces los grupos.

Y es que este es el ciclo de la resolución de problemas: Entender -> Diseñar -> Probar -> Construir -> Refinar.

Este método de pensamiento no solo te servirá para programar. Te servirá para escribir un ensayo, planificar un proyecto, organizar tus finanzas o incluso preparar unas vacaciones. Es una herramienta universal para domesticar el caos.

Ahora te toca a ti, ¿cuál es el próximo problema que vas a conquistar con este superpoder?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *