Ejemplos resueltos
En esta sección pondremos en práctica todo lo aprendido sobre las estructuras condicionales.
En cada ejemplo encontrarás:
- El enunciado.
- La solución.
- Una explicación paso a paso.
El objetivo no es únicamente ver el resultado, sino comprender cómo pensar la solución.
Ejercicio resuelto 1 - Inicio de sesión
Enunciado
Una aplicación permite acceder únicamente a los usuarios que introduzcan correctamente su nombre de usuario.
Crea un programa que compruebe si el usuario introducido es "admin".
- Si coincide, debe mostrar el mensaje "Bienvenido al sistema."
- En caso contrario, debe mostrar "Usuario no reconocido."
Utiliza la siguiente variable:
let usuario = "admin";
Análisis
Solo existen dos posibles resultados:
- El usuario es correcto.
- El usuario no es correcto.
Solución
let usuario = "admin";
if (usuario === "admin") {
console.log("Bienvenido al sistema.");
} else {
console.log("Usuario no reconocido.");
}
Explicación
La condición compara el contenido de la variable usuario con la cadena "admin".
Si ambos valores son iguales, se ejecuta el primer bloque.
Si no coinciden, se ejecuta el bloque else.
Ejercicio resuelto 2 - Precio del aparcamiento
Enunciado
Un aparcamiento cobra diferentes tarifas según el tiempo que un vehículo haya permanecido estacionado.
- Hasta 1 hora: 2 €
- Más de 1 hora y hasta 3 horas: 5 €
- Más de 3 horas: 8 €
Utiliza la siguiente variable:
let horas = 2;
Muestra por pantalla el precio correspondiente.
Análisis
Hay tres posibles situaciones, por lo que utilizaremos una estructura if...else if...else.
Solución
let horas = 2;
if (horas <= 1) {
console.log("Debe pagar 2 €.");
} else if (horas <= 3) {
console.log("Debe pagar 5 €.");
} else {
console.log("Debe pagar 8 €.");
}
Explicación
Las condiciones se evalúan en orden.
Cuando JavaScript encuentra la primera condición verdadera, deja de comprobar las siguientes.
Ejercicio resuelto 3 - Selección de transporte
Enunciado
Una aplicación permite al usuario elegir el medio de transporte que utilizará.
Según la opción elegida, deberá mostrar uno de los siguientes mensajes:
| Opción | Transporte |
|---|---|
"coche" | Has elegido viajar en coche. |
"tren" | Has elegido viajar en tren. |
"avion" | Has elegido viajar en avión. |
Si el usuario escribe cualquier otro valor, deberá aparecer:
Transporte no disponible.
Utiliza la siguiente variable:
let transporte = "tren";
Análisis
Estamos comparando una misma variable con varios valores posibles.
La mejor opción es utilizar un switch.
Solución
let transporte = "tren";
switch (transporte) {
case "coche":
console.log("Has elegido viajar en coche.");
break;
case "tren":
console.log("Has elegido viajar en tren.");
break;
case "avion":
console.log("Has elegido viajar en avión.");
break;
default:
console.log("Transporte no disponible.");
}
Explicación
Cada case representa uno de los posibles medios de transporte.
Gracias a break, el programa abandona el switch cuando encuentra la opción correcta.
Ejercicio resuelto 4 - Coste del envío
Enunciado
Una tienda online aplica gastos de envío dependiendo del importe de la compra.
- Si la compra es igual o superior a 75 €, el envío será gratuito.
- En caso contrario, el coste del envío será de 6 €.
Guarda el coste del envío en una variable utilizando el operador ternario.
let totalCompra = 48;
Después, muestra el resultado por pantalla.
Análisis
Solo existen dos posibles resultados.
El operador ternario es una buena opción para asignar directamente el valor correspondiente.
Solución
let totalCompra = 48;
let gastosEnvio = totalCompra >= 75
? 0
: 6;
console.log("Gastos de envío:", gastosEnvio, "€");
Explicación
La condición comprueba si la compra alcanza el importe mínimo.
Si es así, la variable gastosEnvio recibe el valor 0.
En caso contrario, recibe el valor 6.
Ejercicio resuelto 5 - Máquina expendedora
Enunciado
Una máquina expendedora vende diferentes bebidas.
Dependiendo de la opción seleccionada por el usuario deberá mostrar el siguiente mensaje:
| Opción | Bebida |
|---|---|
| 1 | Agua |
| 2 | Refresco |
| 3 | Café |
Además:
- Si el usuario selecciona una opción distinta, deberá mostrarse el mensaje:
Producto no disponible.
Una vez elegida la bebida, el programa comprobará si el usuario dispone de saldo suficiente.
- Si tiene saldo, mostrará:
Compra realizada correctamente.
- Si no tiene saldo, mostrará:
Saldo insuficiente.
Utiliza las siguientes variables:
let opcion = 2;
let saldo = true;
Análisis
Este ejercicio combina dos estructuras condicionales.
Primero necesitamos identificar la bebida seleccionada mediante un switch.
Después comprobaremos si existe saldo utilizando un if.
Solución
let opcion = 2;
let saldo = true;
switch (opcion) {
case 1:
console.log("Has seleccionado Agua.");
break;
case 2:
console.log("Has seleccionado Refresco.");
break;
case 3:
console.log("Has seleccionado Café.");
break;
default:
console.log("Producto no disponible.");
break;
}
if (saldo) {
console.log("Compra realizada correctamente.");
} else {
console.log("Saldo insuficiente.");
}
Explicación
En este ejercicio resolvemos dos problemas diferentes.
En primer lugar, utilizamos un switch porque debemos comparar una misma variable (opcion) con distintos valores posibles.
Después comprobamos si el usuario tiene saldo suficiente utilizando un if, ya que únicamente existen dos posibles resultados.
Este tipo de combinación es muy habitual en programas reales, donde una misma acción requiere utilizar varias estructuras condicionales.