Saltar al contenido
Curso de JavaScript
Todos los cursos

Ejercicio: Operadores y decisiones

  • ⏱ 35 minutos
  • 📶 Nivel: principiante

Objetivo

Escribir seis funciones que toman decisiones: clasificar notas, años bisiestos, precios de entrada, días de la semana, valores por defecto y paridad.

Antes de empezar

Estas funciones no necesitan una página. Escribe el código en el editor de abajo, pruébalo con console.log y pégalo en el comprobador.

▶ Prueba tu código aquí (opcional)
Consola

Pasos

Marca cada paso a medida que lo completes. Tu avance se guarda en este navegador.

💡 Pista 1: orden de las condiciones

En clasificar, empieza por la condición más exigente: primero nota >= 9, luego >= 7, >= 5 y por último el caso contrario.

💡 Pista 2: el año bisiesto

(anio % 4 === 0 && anio % 100 !== 0) || anio % 400 === 0. Prueba con 2000 (sí), 1900 (no), 2024 (sí) y 2023 (no).

🔎 Comprueba tu trabajo

Pega tu código y pulsa Comprobar. La revisión ocurre en tu navegador; nada se envía a ningún sitio. Cada punto en rojo incluye una pista.

    ✅ Ver una solución de ejemplo

    Intenta resolverlo antes de mirar. Tu versión puede ser distinta y también correcta.

    app.js
    function clasificar(nota) {
      if (nota >= 9) return "Sobresaliente";
      if (nota >= 7) return "Notable";
      if (nota >= 5) return "Aprobado";
      return "Reprobado";
    }
    
    function esBisiesto(anio) {
      return (anio % 4 === 0 && anio % 100 !== 0) || anio % 400 === 0;
    }
    
    function precioEntrada(edad) {
      if (edad < 5 || edad > 65) return 0;
      if (edad < 18) return 50;
      return 100;
    }
    
    function nombreDia(n) {
      switch (n) {
        case 1: return "lunes";
        case 2: return "martes";
        case 3: return "miércoles";
        case 4: return "jueves";
        case 5: return "viernes";
        case 6: return "sábado";
        case 7: return "domingo";
        default: return "día no válido";
      }
    }
    
    function valorPorDefecto(valor, porDefecto) {
      return valor ?? porDefecto;
    }
    
    function parOImpar(n) {
      return n % 2 === 0 ? "par" : "impar";
    }

    💡 🏁 Reto extra (opcional)

    Escribe esTriangulo(a, b, c) que devuelva true si con esos tres lados se puede formar un triángulo (cada lado debe ser menor que la suma de los otros dos). Pruébalo con varios casos.