Ir al contenido

Cómo Resolver Problemas con Programación - Tu Primera Aventura

Publicado: a las  03:39 p. m.

Cómo Resolver Problemas con Programación 🚀

Problemas Computacionales

🎮 ¡Bienvenido al mundo de la programación!

¿Alguna vez te preguntaste cómo funciona tu celular, cómo Netflix sabe qué series recomendarte, o cómo Google Maps encuentra el camino más corto? Todo eso es programación, y vos estás a punto de aprender a hacerlo.

Programar no es solo escribir código. Es resolver problemas de manera inteligente. Y eso es exactamente lo que vamos a aprender en este artículo.

¡Prepará tu mente, porque tu aventura como programador comienza ahora! 💪


🤔 ¿Qué es un problema computacional?

Un problema computacional es cualquier situación que podés resolver usando una computadora. Suena complicado, pero en realidad es súper simple.

Ejemplos de la vida real:

  1. Calcular cuánto te sale una salida con amigos

    • Entrada: Precio de cada cosa que compraron
    • Salida: Total a pagar y cuánto pone cada uno
  2. Saber si llegás a tiempo a la escuela

    • Entrada: Hora actual, hora de entrada, tiempo de viaje
    • Salida: “Llegás a tiempo” o “Vas tarde, apurate!”
  3. Elegir qué ropa ponerte según el clima

    • Entrada: Temperatura actual
    • Salida: “Campera” o “Remera”

La fórmula mágica 🪄

Todo problema computacional tiene 3 partes:

📥 ENTRADA (datos que tenés)
    ⬇️
🧠 PROCESO (qué hacés con esos datos)
    ⬇️
📤 SALIDA (resultado que querés)

Ejemplo súper simple:

📥 ENTRADA: Tu edad (15 años)
🧠 PROCESO: Verificar si es mayor o igual a 18
📤 SALIDA: "No podés sacar el registro todavía"

🛠️ Los 5 pasos para resolver cualquier problema

Cuando te enfrentás a un problema de programación (o de la vida), seguí estos pasos:

1️⃣ Entender el problema

Antes de escribir código, entendé qué te están pidiendo.

Hacete estas preguntas:

Ejemplo:

“Hacé un programa que calcule el promedio de 3 notas”

Entendiendo el problema:

2️⃣ Planificar la solución

Pensá ANTES de programar. Es como hacer un plano antes de construir una casa.

Para el ejemplo del promedio:

Plan:
1. Pedir la primera nota
2. Pedir la segunda nota
3. Pedir la tercera nota
4. Sumar las tres notas
5. Dividir la suma por 3
6. Mostrar el resultado

💡 Tip: Escribí tu plan en papel o en comentarios. ¡Te va a ahorrar mucho tiempo!

3️⃣ Escribir el código

Ahora sí, ¡a programar! Traducí tu plan a Python.

# Paso 1, 2 y 3: Pedir las notas
nota1 = float(input("Ingresá la primera nota: "))
nota2 = float(input("Ingresá la segunda nota: "))
nota3 = float(input("Ingresá la tercera nota: "))

# Paso 4: Sumar las notas
suma = nota1 + nota2 + nota3

# Paso 5: Calcular el promedio
promedio = suma / 3

# Paso 6: Mostrar el resultado
print("Tu promedio es:", promedio)

4️⃣ Probar el código

¡Nunca confíes en tu código sin probarlo! Probalo con diferentes casos:

Caso 1 - Notas normales:

Entrada: 8, 7, 9
Salida esperada: 8.0

Caso 2 - Todas iguales:

Entrada: 10, 10, 10
Salida esperada: 10.0

Caso 3 - Con decimales:

Entrada: 7.5, 8.5, 9.0
Salida esperada: 8.33...

5️⃣ Mejorar el código

Una vez que funciona, podés mejorarlo:

# Versión mejorada con validación
print("🎓 CALCULADORA DE PROMEDIOS")
print("=" * 30)

# Función para pedir una nota válida
def pedir_nota(numero):
    while True:
        nota = float(input(f"Ingresá la nota {numero} (1-10): "))
        if 1 <= nota <= 10:
            return nota
        else:
            print("❌ Error: La nota debe estar entre 1 y 10")

# Pedir las tres notas
nota1 = pedir_nota(1)
nota2 = pedir_nota(2)
nota3 = pedir_nota(3)

# Calcular promedio
promedio = (nota1 + nota2 + nota3) / 3

# Mostrar resultado con emoji según el promedio
print("\n" + "=" * 30)
if promedio >= 7:
    print(f"🎉 ¡Excelente! Tu promedio es: {promedio:.2f}")
elif promedio >= 6:
    print(f"👍 Aprobado. Tu promedio es: {promedio:.2f}")
else:
    print(f"📚 A estudiar más. Tu promedio es: {promedio:.2f}")

📝 Herramientas para planificar: Pseudocódigo

El pseudocódigo es como escribir código en español. Te ayuda a planificar sin preocuparte por la sintaxis de Python.

Ejemplo: Saber si podés entrar al cine

Pseudocódigo:

INICIO
    LEER edad

    SI edad >= 13 ENTONCES
        MOSTRAR "Podés entrar al cine"
    SINO
        MOSTRAR "Sos muy chico, necesitás un adulto"
    FIN SI
FIN

Código en Python:

edad = int(input("¿Cuántos años tenés? "))

if edad >= 13:
    print("✅ Podés entrar al cine")
else:
    print("❌ Sos muy chico, necesitás un adulto")

🎯 Problemas resueltos paso a paso

Vamos a resolver algunos problemas típicos que te van a servir para practicar.

🔢 Problema 1: ¿Es par o impar?

Enunciado: Hacé un programa que te diga si un número es par o impar.

1. Entender:

2. Planificar:

1. Pedir un número al usuario
2. Dividir el número por 2 y ver el resto
3. Si el resto es 0 → es par
4. Si no → es impar

3. Código:

# Pedir el número
numero = int(input("Ingresá un número: "))

# Verificar si es par o impar
if numero % 2 == 0:
    print(f"✅ {numero} es PAR")
else:
    print(f"✅ {numero} es IMPAR")

4. Probar:

Entrada: 8  → Salida: "8 es PAR" ✅
Entrada: 15 → Salida: "15 es IMPAR" ✅
Entrada: 0  → Salida: "0 es PAR" ✅

🌡️ Problema 2: ¿Qué ropa me pongo?

Enunciado: Según la temperatura, el programa te dice qué ropa ponerte.

1. Entender:

2. Código:

print("🌡️ ASISTENTE DE VESTIMENTA")
print("=" * 30)

temperatura = float(input("¿Qué temperatura hace? "))

if temperatura < 10:
    print("🧥 Hace frío! Ponete campera gruesa")
elif temperatura < 20:
    print("👕 Clima fresco. Un buzo está bien")
else:
    print("☀️ Hace calor! Con remera vas bien")

# Bonus: Consejo extra
if temperatura < 0:
    print("⚠️ ¡Está helando! Abrigate bien")
elif temperatura > 30:
    print("💧 Llevá agua, hace mucho calor")

💰 Problema 3: Calculadora de propina

Enunciado: Calculá cuánto dejar de propina en un restaurante.

1. Entender:

2. Código:

print("💵 CALCULADORA DE PROPINA")
print("=" * 30)

# Pedir el total
total = float(input("¿Cuánto salió la cuenta? $"))

# Mostrar opciones
print("\n¿Qué tal estuvo el servicio?")
print("1 - Regular (10%)")
print("2 - Bueno (15%)")
print("3 - Excelente (20%)")

opcion = int(input("\nElegí una opción (1-3): "))

# Calcular propina según la opción
if opcion == 1:
    propina = total * 0.10
    porcentaje = "10%"
elif opcion == 2:
    propina = total * 0.15
    porcentaje = "15%"
elif opcion == 3:
    propina = total * 0.20
    porcentaje = "20%"
else:
    print("❌ Opción inválida")
    propina = 0
    porcentaje = "0%"

# Mostrar resultados
if propina > 0:
    print("\n" + "=" * 30)
    print(f"Cuenta: ${total:.2f}")
    print(f"Propina ({porcentaje}): ${propina:.2f}")
    print(f"Total a pagar: ${total + propina:.2f}")

🎮 Problema 4: Juego de adivinanza

Enunciado: La computadora piensa un número del 1 al 10 y vos tenés que adivinarlo.

import random

print("🎲 JUEGO DE ADIVINANZA")
print("=" * 30)
print("Pensé un número del 1 al 10")
print("¿Podés adivinarlo?")

# La computadora elige un número random
numero_secreto = random.randint(1, 10)

# Pedir al usuario que adivine
intento = int(input("\n¿Qué número pensé? "))

# Verificar
if intento == numero_secreto:
    print("🎉 ¡GANASTE! Adivinaste el número")
elif intento < numero_secreto:
    print(f"📉 No, el número es MAYOR que {intento}")
    print(f"Era {numero_secreto}")
else:
    print(f"📈 No, el número es MENOR que {intento}")
    print(f"Era {numero_secreto}")

📐 Problema 5: Calculadora de figuras geométricas

Enunciado: Calculá el área de diferentes figuras.

print("📐 CALCULADORA DE ÁREAS")
print("=" * 30)
print("¿Qué figura querés calcular?")
print("1 - Cuadrado")
print("2 - Rectángulo")
print("3 - Triángulo")
print("4 - Círculo")

opcion = int(input("\nElegí una opción (1-4): "))

if opcion == 1:
    # Cuadrado
    lado = float(input("Ingresá el lado del cuadrado: "))
    area = lado * lado
    print(f"📦 El área del cuadrado es: {area}")

elif opcion == 2:
    # Rectángulo
    base = float(input("Ingresá la base: "))
    altura = float(input("Ingresá la altura: "))
    area = base * altura
    print(f"📄 El área del rectángulo es: {area}")

elif opcion == 3:
    # Triángulo
    base = float(input("Ingresá la base: "))
    altura = float(input("Ingresá la altura: "))
    area = (base * altura) / 2
    print(f"🔺 El área del triángulo es: {area}")

elif opcion == 4:
    # Círculo
    radio = float(input("Ingresá el radio: "))
    area = 3.14159 * radio * radio
    print(f"⭕ El área del círculo es: {area:.2f}")

else:
    print("❌ Opción inválida")

🎯 Ejercicios para practicar

Ahora te toca a vos! Intentá resolver estos problemas:

🟢 Nivel Fácil

Ejercicio 1: Conversor de temperatura

Ejercicio 2: Calculadora de edad

Ejercicio 3: Descuento en la tienda

🟡 Nivel Medio

Ejercicio 4: Aprobado o desaprobado

Ejercicio 5: Calculadora de IMC

Ejercicio 6: Mayor de tres números

🔴 Nivel Difícil

Ejercicio 7: Calculadora de viaje

Ejercicio 8: Juego de piedra, papel o tijera


💡 Consejos de oro para resolver problemas

✅ Hacé esto:

  1. Leé el problema 2 o 3 veces antes de empezar a programar
  2. Escribí ejemplos de entrada y salida esperada
  3. Empezá simple y después mejorá
  4. Probá tu código con diferentes casos
  5. Pedí ayuda cuando te trabés (¡no hay vergüenza en preguntar!)
  6. Comentá tu código para acordarte qué hace cada parte

❌ Evitá esto:

  1. No empieces a programar sin entender el problema
  2. No copies código sin entenderlo
  3. No te frustres si no sale a la primera (¡es normal!)
  4. No ignores los errores - léelos, te dicen qué está mal
  5. No te compares con otros - cada uno aprende a su ritmo

🧠 Pensamiento computacional

Resolver problemas con programación desarrolla tu pensamiento computacional. Esto significa que aprendés a:

  1. Descomponer problemas grandes en partes chicas
  2. Reconocer patrones que se repiten
  3. Abstraer lo importante de lo que no importa
  4. Crear algoritmos (pasos ordenados para resolver algo)

Ejemplo de la vida real:

Cuando te levantás a la mañana, seguís un algoritmo:

1. Apagar el despertador
2. Levantarte de la cama
3. Ir al baño
4. Lavarte la cara
5. Vestirte
6. Desayunar
7. Cepillarte los dientes
8. Ir a la escuela

¡Eso es un algoritmo! Y programar es exactamente eso: escribir pasos ordenados para que la computadora haga algo.


🎓 Resumen: Lo que aprendiste hoy

Qué es un problema computacional: Algo que podés resolver con código

Los 5 pasos: Entender → Planificar → Programar → Probar → Mejorar

Pseudocódigo: Escribir tu plan en español antes de programar

Entrada → Proceso → Salida: La estructura de todo programa

Practicar es clave: Cuanto más programás, mejor te sale


🚀 Próximos pasos

  1. Resolvé los ejercicios propuestos en este artículo
  2. Inventá tus propios problemas (¿qué te gustaría automatizar?)
  3. Compartí tus soluciones con tus compañeros
  4. No tengas miedo de experimentar - romper código es parte del aprendizaje

🎮 Desafío final

Creá un programa que:

  1. Le pregunte al usuario su nombre
  2. Le pregunte su edad
  3. Le pregunte su comida favorita
  4. Muestre un mensaje personalizado con toda esa info

Ejemplo de salida:

Hola Juan! Tenés 15 años y te encanta la pizza.
¡Qué buena elección! 🍕

💬 Recordá

“El único modo de aprender a programar es programando”

  • No hay atajos, solo práctica

¡No te rindas! Todos los programadores empezaron exactamente donde estás vos ahora. La diferencia es que ellos siguieron intentando.

¿Tenés dudas? ¡Preguntá en clase! 🙋‍♂️

¡Ahora a resolver problemas como un verdadero programador! 💻✨