Lógica de Programación — Sesión 2
Unidad 1 · 2 horas · Tema: lectura de enunciados + IPO + variables/tipos + prueba de escritorio
1/1

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).