01 · Punto de partida
Responder de una vez o construir la respuesta
El nivel en t = 6 sale de una fórmula (10 + 2 × 6) o de un bucle que avanza paso a paso. Ambas dan 22, pero por caminos opuestos: la primera calcula directo, el segundo simula el recorrido.
- ¿Existe fórmula cerrada para esta pregunta?
- ¿Necesito solo el final o también el camino?
- ¿Cuánto cuesta cada corrida y cuántas haré?
- ¿Con qué verifico el código?
02 · Definiciones
Fórmula y algoritmo
Analítico
Solución cerrada: reemplazo valores y obtengo. Exacta e instantánea donde existe.
Computacional
Algoritmo iterativo: avanza, acumula y registra. Llega donde la fórmula no llega.
Oráculo
La fórmula como verificadora del código: si difieren, el bug está en el bucle.
| Aspecto | Analítico | Computacional |
|---|---|---|
| Respuesta | Directa, exacta | Construida, aproximada |
| Costo | Casi nulo | Crece con pasos y réplicas |
| Alcance | Solo donde hay fórmula | Topes, azar, híbridos, todo |
| Historia | Solo el punto pedido | Trayectoria completa |
03 · Decisión
Cómo trabajar con ambos
- 1Buscá la fórmula primero.
Si existe, es gratis, exacta y tu mejor test.
- 2Simulá lo que la fórmula no cubre.
Topes, horarios, azar y políticas piden código.
- 3Verificá el código contra la fórmula.
En el caso simple deben coincidir al decimal.
- 4Medí el costo.
Pasos × réplicas × escenarios: el presupuesto manda el dt.
Fórmula
El atajo exacto
Responde el final sin recorrer: ideal para verificar y para decidir rápido.
Código
El camino completo
Entrega historia, picos y métricas donde no hay fórmula que valga.
- Solución cerrada
- Expresión directa del resultado en función de los datos.
- Iteración
- Repetición de la transición hasta completar el horizonte.
- Oráculo de test
- Referencia confiable contra la que se compara el código.
- Costo
- Operaciones por corrida: pasos por réplicas por escenarios.
04 · Puentes
La fórmula que cuida al código
Todo simulador serio trae su oráculo: un caso con solución conocida donde código y fórmula deben empatar. Es la verificación del Tema 35 en miniatura.
05 · En Python
La misma respuesta por dos caminos
Python en tu navegador. La fórmula verifica al bucle: si difieren, el bug está en el bucle.
def analitico(n0, balance, t):
# Fórmula cerrada: respuesta directa.
return max(n0 + balance * t, 0)
def computacional(n0, balance, pasos):
# Algoritmo: construye la historia paso a paso.
n = n0
historia = []
for t in range(pasos):
n = max(n + balance, 0)
historia.append(n)
return historia
print(analitico(10, 2, 6))
print(computacional(10, 2, 6))
Donde la fórmula se rinde
def con_tope(n0, balance, pasos, tope):
# Con tope activo no hay fórmula simple: solo queda iterar.
n = n0
historia = []
for t in range(pasos):
n = min(max(n + balance, 0), tope)
historia.append(n)
return historia
print(con_tope(10, 5, 6, 20))
06 · Exploración
Laboratorio: precio del paso
La curva muestra el error de Euler según el paso elegido: pasos chicos, error chico y muchas operaciones. El marcador es tu dt actual: ¿cuánto pagás por tu precisión?
Error contra costo
llenado con freno · k = 0,3
Con dt = 1,0 usás 12 pasos con error 0,54: un cuarto del costo máximo.
La curva cae rápido al principio y luego se ameseta: ahí está el punto dulce entre error y costo.
Preguntas para explorar
- Con dt = 0,25, ¿cuánto baja el error y cuánto sube el costo?
- Con k = 0,8, ¿la curva se empina? ¿Qué dt elegirías?
- ¿Dónde pondrías el oráculo analítico de este laboratorio?
Ver respuestas sugeridas
- El error cae al mínimo (~0,14) pero usás 48 pasos: cuatro veces el costo de dt = 1.
- Sí, se empina: con tasas rápidas el error crece y conviene un dt donde la curva se ameseta.
- En la solución exacta del llenado: la fórmula cerrada verifica al código.
07 · Comprensión
Confusiones frecuentes
«Computacional es menos serio»
Es la única vía donde no hay fórmula: topes, azar, híbridos. Serio es verificarlo, no evitarlo.
«Si hay fórmula, simular sobra»
La simulación igual aporta historia, picos y escenarios. La fórmula da el final; el código, el camino.
«Verificar es correr una vez»
Verificar es comparar contra el oráculo en varios casos, incluyendo bordes: topes, ceros y pasos extremos.
«Más pasos siempre mejoran»
Hasta que el error deja de mandar: después solo suman costo y redondeo. La curva del laboratorio lo muestra.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: empatar caminos
Verificá que fórmula y bucle empaten en t = 6. ¿Qué harías si difieren?
def analitico(n0, balance, t):
return max(n0 + balance * t, 0)
def computacional(n0, balance, pasos):
n = n0
h = []
for t in range(pasos):
n = max(n + balance, 0)
h.append(n)
return h
a = analitico(10, 2, 6)
c = computacional(10, 2, 6)[-1]
print(a, c, "OK" if a == c else "BUG")
Ver solución razonada
Ambos dan 22: OK. Si difieren, el bug está en el bucle (la fórmula es el oráculo) y hay que depurar la transición.
Ejercicio 2: el tope sin fórmula
Con balance 5 y tope 20 en 6 pasos, ¿llega la fórmula? Contrastala con el bucle.
print("fórmula ingenua:", 10 + 5 * 6)
def con_tope(n0, balance, pasos, tope):
n = n0
h = []
for t in range(pasos):
n = min(max(n + balance, 0), tope)
h.append(n)
return h
print("bucle:", con_tope(10, 5, 6, 20))
Ver solución
La fórmula ingenua dice 40; el bucle, [15, 20, 20, 20, 20, 20]. Con tope activo no hay atajo: solo iterar.
Ejercicio 3: presupuestar corridas
Si cada paso cuesta 1 unidad y harás 50 escenarios × 20 réplicas, ¿cuánto cuesta dt = 0,25 frente a dt = 1 en 12 segundos?
Ver una posible respuesta
def costo(dt, segundos=12, escenarios=50, replicas=20):
pasos = int(segundos / dt)
return pasos * escenarios * replicas
print("dt 0.25:", costo(0.25))
print("dt 1:", costo(1.0))
Cuestan 48000 frente a 12000: el paso fino cuadruplica la cuenta. La curva error–costo decide si lo vale.
09 · Síntesis
Ideas para recordar
- Analítico calcula directo; computacional itera y registra.
- La fórmula es el oráculo: verifica al código en casos simples.
- Con topes, azar o híbridos no hay atajo: solo queda iterar.
- El dt equilibra error y costo: la curva lo muestra.
- En Python: funciones cerradas y bucles que deben empatar.
En el próximo tema calibraremos el zoom: el nivel de detalle de un modelo.