Sesión 2
Del enunciado a un algoritmo verificable
Meta: leer → modelar → verificar
Herramienta: IPO + prueba de escritorio
Salida: 1 solución + 1 caso límite
Navegación: ← → · Pantalla completa: F
Objetivos de hoy
- Convertir un enunciado en una estructura IPO completa.
- Definir variables (nombre, tipo, propósito) sin ambigüedad.
- Hacer una prueba de escritorio con 2 casos (normal + límite).
Hoy no codificamos “mucho”: primero razonamos y verificamos.
Checklist para leer enunciados
- ¿Qué me dan? (entradas)
- ¿Qué me piden? (salidas)
- ¿Qué reglas hay? (condiciones, fórmulas, rangos)
- ¿Qué no está dicho? (decisión que debo explicitar)
Si algo no está definido (por ejemplo, “redondeo”), se escribe como decisión del algoritmo.
Plantilla IPO (la vamos a repetir siempre)
Problema: ___________________________
Entradas:
- ___________________________
- ___________________________
Proceso:
- Definir variables
- Calcular __________________
- Validar ___________________ (si aplica)
Salidas:
- ___________________________
IPO es tu “contrato”: si algo no aparece en Entradas, no puede aparecer en el Proceso.
Variables: regla simple
Variable = nombre + tipo + propósito.
cantidadKWh : decimal
tarifaKWh : decimal
costoBruto : decimal
descuentoPct : decimal
descuentoVal : decimal
total : decimal
Errores que cuestan puntos
- Confundir porcentaje con valor: 10 vs 0.10.
- Mezclar unidades (kWh vs $).
- Variables sin intención (“x”, “dato”).
- No probar un caso límite (0, negativo, etc.).
Tip: si el dominio es dinero, usa decimal; si es conteo, entero.
Operadores y precedencia (mínimo)
Aritméticos
+ suma
- resta
* multiplicación
/ división
Si hay duda, usa ( ) para dejar intención explícita.
Sanity check
- ¿El resultado es demasiado grande o demasiado pequeño?
- ¿Tiene sentido el signo (positivo/negativo)?
- ¿Coinciden las unidades?
Si el resultado “se ve raro”, revisa precedencia antes de culpar al enunciado.
Ejemplo guiado (enunciado)
Problema: Calcular el valor total de una factura de energía.
- Entrada: cantidad de kWh consumidos, tarifa por kWh.
- Regla: si consumo ≥ 200 kWh, descuento del 5% sobre el costo bruto.
- Salida: total a pagar.
Vamos a convertir esto a IPO + variables + fórmula + prueba de escritorio.
Ejemplo guiado (IPO)
Problema: total factura de energía
Entradas:
- cantidadKWh
- tarifaKWh
Proceso:
- costoBruto = cantidadKWh * tarifaKWh
- Si cantidadKWh >= 200:
descuentoPct = 5
Si no:
descuentoPct = 0
- descuentoVal = costoBruto * (descuentoPct / 100)
- total = costoBruto - descuentoVal
Salidas:
- total
Nota: aquí el “si” es una regla del problema, no una opinión del algoritmo.
Prueba de escritorio (tabla)
cantidadKWh | tarifaKWh | costoBruto | descuentoPct | descuentoVal | total
---------- | -------- | --------- | ------------ | ------------ | -----
?
La prueba de escritorio obliga a que cada variable tenga valor y se pueda verificar.
Prueba de escritorio (2 casos)
Caso normal (sin descuento)
cantidadKWh = 150
tarifaKWh = 900
Pregunta: ¿descuentoPct debe ser 0 o 5?
Caso límite (umbral)
cantidadKWh = 200
tarifaKWh = 900
Pregunta: ¿qué pasa exactamente en 200?
Si el umbral fuese “>200” en lugar de “≥200”, eso cambia el resultado: se escribe en el algoritmo.
Actividad (15–20 min)
Reto individual: Diseña el IPO + variables + prueba de escritorio para:
Compra con envío: dado subtotal y ciudad, calcular total.
- Envío = 12.000 si ciudad = “Cali”, si no envío = 18.000.
- Si subtotal ≥ 100.000, envío = 0 (gratis).
- Incluye 2 pruebas: una con envío gratis y otra sin envío gratis.
- Entrega: foto/PDF (IPO + tabla de prueba de escritorio).
Mini-rúbrica (lo que reviso)
- Claridad: entradas/salidas correctas y completas.
- Coherencia: variables nombradas con intención y con unidades.
- Verificación: prueba de escritorio con 2 casos (incluye límite o regla).
- Transparencia: reglas y decisiones escritas (umbral, prioridad de reglas).
Esto alimenta el Taller 1 y el Parcial 1 (semana 4–5).
Ticket de salida (5 min)
- Escribe 1 regla que tuviste que hacer explícita en el reto.
- ¿Qué caso te habría “engañado” si no hicieras prueba de escritorio?
- 1 cosa que vas a mejorar en tus nombres de variables.
Objetivo: llegar al Quiz 1 con práctica real de lectura y trazado.
Para la próxima sesión
- Resolver 2 problemas con IPO + 2 pruebas cada uno (uno con “si/umbral”).
- Traer 1 duda formulada como pregunta concreta.
En sesión 3 empezamos condicionales con más estructura (casos, condiciones compuestas).