Estrategias para resolver problemas
Antes de escribir codigo, hay que pensar. Estas estrategias te ayudan a no quedarte atascado frente a un problema.
flowchart TD
A[Leer el problema] --> B[Bosquejo a mano]
B --> C[Dividir en pasos]
C --> CC[Escribir los pasos como comentarios]
CC --> D[Escribir codigo]
D --> E{Funciona?}
E -- Si --> F[Listo!]
E -- No --> G[Leer el error]
G --> D
1. Lee el problema completo
Parece obvio, pero muchos errores vienen de no leer bien. Lee todo el enunciado antes de tocar el teclado. Si hay un ejemplo, asegurate de entenderlo bien.
2. Identifica que entra y que sale
Todo programa recibe datos y produce un resultado. Antes de programar, preguntate esto:
- Que datos me dan? (numeros, texto, una lista...)
- Que tengo que mostrar? (un resultado, un mensaje, una lista ordenada...)
Ejemplo: "Dado un numero, decir si es par o impar."
- Entrada: un numero entero
- Salida: un texto que diga "par" o "impar"
3. Haz un bosquejo a mano
Toma papel y lapiz (o piensalo en tu cabeza) y haz un bosquejo de como resolverias el problema. Prueba con unos valores para ver si tu idea funciona. Si no puedes resolverlo a mano, tampoco vas a poder programarlo.
Ejemplo: "Calcular el promedio de unas notas."
Pruebo con 90, 75 y 88:
- Sumo: 90 + 75 + 88 = 253
- Divido entre 3: 253 / 3 = 84
Pruebo con otros valores, como 100 y 50:
- Sumo: 100 + 50 = 150
- Divido entre 2: 150 / 2 = 75
Funciona. Ahora ya sabes los pasos que tiene que hacer tu programa.
4. Divide en pasos pequenos
No intentes resolver todo de golpe. Separa el problema en pasos simples y resuelve uno a la vez.
Ejemplo: "Leer 5 notas y mostrar el promedio."
- Leer las 5 notas
- Sumarlas
- Dividir la suma entre 5
- Mostrar el resultado
Cada paso se convierte en unas pocas lineas de codigo. Un buen truco es escribir esos pasos como comentarios en el codigo antes de programar:
#include <iostream>
using namespace std;
int main() {
// Paso 1: leer las notas
// Paso 2: sumarlas
// Paso 3: dividir entre la cantidad
// Paso 4: mostrar el resultado
return 0;
}
Despues vas llenando cada paso con codigo.
5. Escribe el codigo paso a paso
Ejecuta frecuentemente para verificar que todo funcione antes de pasar al siguiente paso:
#include <iostream>
using namespace std;
int main() {
// Paso 1: leer las notas
int notas[] = {90, 75, 88, 62, 95};
// Paso 2: sumarlas
int suma = 0;
for (int i = 0; i < 5; ++i) {
suma = suma + notas[i];
}
// Paso 3 y 4: dividir y mostrar
cout << "Promedio: " << suma / 5 << "\n";
return 0;
}
6. Prueba con diferentes datos
No te quedes con un solo ejemplo. Prueba con casos distintos:
- Caso normal — datos comunes
- Caso limite — el numero mas pequeno o mas grande posible
- Caso raro — que pasa si el usuario escribe 0, o un numero negativo?
7. Si algo no funciona, lee el error
Los errores del compilador parecen complicados pero casi siempre dicen exactamente que esta mal y en que linea. Busca el numero de linea y revisa que hay ahi.
Errores comunes:
| Error | Que suele ser |
|---|---|
expected ';' |
Te falta un punto y coma |
undeclared identifier |
Usaste una variable que no existe o la escribiste mal |
no match for operator |
Estas mezclando tipos (por ejemplo texto con numero) |
8. Resumen
- Lee todo el problema
- Identifica entrada y salida
- Resuelve a mano
- Divide en pasos pequenos
- Programa paso a paso
- Prueba con datos diferentes
- Lee los errores con calma