← CC2005

Solución de Problemas

Semestre 02, 2026

Introducción

  • Resolver problemas es una habilidad fundamental en programación y en la vida diaria.
  • Un buen enfoque permite estructurar el pensamiento y encontrar soluciones efectivas a situaciones complejas.

Problemas

Definición

Situación que requiere ser resuelta mediante un proceso lógico o científico.

¿Cómo calcular el vuelto exacto al pagar en efectivo?
¿Cómo aterrizar un cohete espacial en Marte?

Soluciones

  • El resultado de aplicar un proceso de análisis y acción sobre un problema.
  • Puede ser única o tener múltiples caminos posibles.
  • En programación, la solución suele representarse como un algoritmo (set de pasos).

Importancia de resolver problemas

Diseñar soluciones claras y eficientes
Clave para desarrollar proyectos complejos
Base del pensamiento computacional
Es lucrativo 🤑

Proceso de resolución

La receta mágica, paso a paso.

1Identificar el problema
  • ¿Qué se requiere resolver?
  • ¿Qué está causando el problema?
  • ¿Qué información es relevante?
2Formular el problema
  • Clarificar términos desconocidos.
  • Identificar palabras clave.
  • ¿He resuelto antes un problema similar?
3Reunir datos y restricciones
  • ¿Cuáles son los datos de entrada?
  • ¿Qué información falta?
  • ¿Existen restricciones o limitaciones?
4Establecer un plan
  • Determinar los procesos o algoritmos.
  • Diseñar un paso a paso claro.
  • Considerar alternativas.

Proceso de resolución

5Ejecutar el plan
  • Aplicar la solución propuesta.
  • Monitorear resultados parciales.
6Evaluar y mejorar
  • Verificar resultados.
  • Revisar el proceso y optimizarlo si es necesario.

Preguntas insustituibles

¿Cuál es la meta?
¿Qué datos tengo?
¿Qué restricciones aplican?
Siguientes pasos (algoritmo)

Práctica

El pastor, el lobo, la cabra y la lechuga

Un pastor debe cruzar un río llevando un lobo, una cabra y una lechuga. La barca solo transporta al pastor y a uno de los tres a la vez. Si el lobo se queda solo con la cabra, se la come. Si la cabra se queda sola con la lechuga, se la come.
¿Cómo los lleva al otro lado sin pérdidas?

Análisis paso a paso

Meta: todos los elementos llegan intactos a la orilla opuesta.
Datos: todos en la orilla inicial. Lobo come cabra; cabra come lechuga.
Restricciones: uno a la vez; no dejar juntos lobo+cabra ni cabra+lechuga.
Algoritmo: diseñar la secuencia de cruces.

Recomendaciones

  • Utiliza solo la información necesaria.
  • Evita agregar restricciones que no existen.
  • Comprende el verdadero objetivo.
  • Piensa de forma lógica y ordenada.

Ejercicios

Ejercicio 1

Encontrar dos números que sumen 20 y sean múltiplos de 2.

Ejercicio 2

¿Cómo medir exactamente 4 litros usando un cántaro de 5 litros y uno de 3 litros?