JavaScript de Cero a Experto / Operadores y control
Reto: el asesor de Mi Bolsillo
Tu primer programa que de verdad "piensa": un asesor que, según tu saldo y lo que quieres comprar, aplica una promo, toma una decisión y te da un consejo financiero. Junta TODO el módulo —comparación, operadores lógicos, condicionales, ternario— en una pieza con lógica real.
Reto
El asesor de compras
Qué debes construir
Un programa que, dados un saldo, un producto con su precio y si hay promo, imprima un análisis como este:
Producto: Audífonos
Precio con promo: 108000 (antes 120000)
Decisión: Alcanza, pero gastarías el 72% de tu saldo — piénsalo.
Si compras, quedarías en: 42000
Nivel tras la compra: justo
Requisitos:
- Variables:
saldo,producto(nombre),precio, ypromoActiva(boolean). - Promo: si
promoActiva, aplica 10% de descuento al precio (usa un ternario o unif). Muestra el precio final (y el original si hubo promo). - Decisión con
if / else if / else, en este orden:- Si el precio final es MAYOR que el saldo → "No te alcanza".
- Si es más del 70% del saldo → "Alcanza, pero gastarías el X% de tu saldo — piénsalo."
- Si no → "Puedes comprarlo tranquilo."
- Si alcanza, muestra el saldo restante y un nivel (else if por rangos: ≥100000 "ahorrador", ≥50000 "estable", ≥10000 "justo", si no "en rojo").
- Usa al menos un operador lógico (
&&o||) en alguna condición.
Reglas
- Solo lo del módulo 1 y 2: variables, tipos, aritmética, comparación,
lógicos,
if/else,switch, ternario. Sin funciones ni bucles aún. - El porcentaje:
precioFinal / saldo * 100. Redondearlo es opcional (Math.round(...)si quieres, lo verás formalmente en el módulo 6).
25:00
Cuando estés listo, arranca el reloj.
Qué sigue
Módulo 2 cerrado: tu código compara, combina condiciones y decide. Pero todo lo escribes de corrido, y para reutilizar lógica tendrías que copiarla. El módulo 3 trae la herramienta que organiza TODO programa serio: las FUNCIONES —empaquetar código con un nombre para ejecutarlo cuando quieras, con distintos datos—. El salto de "escribir instrucciones" a "construir herramientas".