Operador ternario y switch

Segunda parte de ejercicios dedicados a practicar las estructuras condicionales de una linea

cond?val1:val2.

Y la estructura de condicional múltiple o selector switch...case, mira aquí como se usan los selectores swtich.

Lo que se pide
Aclaraciones

El usuario debe introducir dos valores numéricos por teclado y la aplicación deberá indicar cual es el mayor, el primero o el segundo.

La idea es usar las sentencias if reducidas (cond ? ture:false)

Si el usuario entra 2 y luego 4, debe decir que el mayor es el segundo número.

var num1, num2, mayor;

num1 = prompt("Pimer número");

num2 = prompt("Segundo número");

mayor = (num1>num2) ? "primer" :"segundo";

alert( "El mayor es el " +mayor + " número");

El usuario debe entrar un número y su cuadrado. Si es correcto el script enviará un mensja ede acierto en caso contrario dirá que se produjo un error.

Se trata de usar el if resumido (cond?true:false)

Por ejemplo si teclea 3 y 9 el resutlado es Correcto. Si tecleo 3 8, el resultado será Error

var num, cuadrado, resultado;

num = parseInt(prompt("Escribe un número"));

cuadrado = parseInt(prompt("Escribe su cuadrado"));

resultado = (cuadrado == num*num)? "Correcto" : "Error";

alert("Resultado: "+resultado);

En ste caso, también usando el perador ternario o if reducido, un visitante a la página deberá teclear su edad, si es igual o mayor de 18 recibirá el mensaje de "Entra" en caso contario deberá decirle los años que tiene que estperar para entrar

Si le digo que tengo 19 años me dirá "Puedes entrar", si le digo que tengo 14 años me dirá "Espera 4 años"

var edad, msg;

edad = parseInt(prompt("Teclea tu edad"));

msg = (edad >= 18) ? "Entra": "Espera "+ (18-edad)+" años";

alert(msg);

En un restaurante los clientes pueden pedir menú de carne, pescado o verdura. Si pide carne se le ofrecerá como bebida vino tinto, si pide pescado se le ofrecerá vino blanco y si pide verdura se le ofrecerá agua

Si no elije el menú de la lista aparecerá la frase elija carne, pescado o verdura.

Por ejemplo he pedido carne, el ejercicio mostrará "¿Desea beber vino tinto?"

let menu, bebida;

menu = prompt("Titpo de menu: carne, pescado, verdura")

switch (menu){

    case 'carne':

        bebida = "¿Desea beber vino tinto?";

        break;

    case 'pescado':

        bebida = "¿Desea beber vino blanco?";

        break;

    case 'verdura':

        bebida = "¿Desea agua?";

        break;

    default:

        bebida = "Elija carne pescado o verdura";

    }

alert(bebida);

En una sala de juegos existen tre salas: Consolas, Juegos 2D, Juegos 3D, Realidad Virtual. Si un usuario paga  4 créditos puede acceder a todas, si paga 3 solo podrá acceder a las tres primeras, si paga 2 a las dos primeras y si paga 1 solo a la primera sala.

Tecleo que pago 2 créditos, el escript me dirá que puedo acceder a las salas de consola y juegos 2D.

let creditos, acceso='Salas: ';

creditos = parseInt(prompt("¿Cuántos créditos vas a pagar?"));

switch (creditos){

    case 4:

        acceso += "Realidad Virtual, ";

    case 3:

        acceso += "Juegos 3D, ";

    case 2:

        acceso += "Juegos 2D, ";

    case 1:

        acceso += "Consolas, ";

        break;

    default:

        acceso += "Ninguna";

}

alert(acceso);

Aprtir de un número de mes tecleado por un usuario el programa debe indicar la estación del año.

Las estaciones serán 12,1,2: Invierno. 3,4,5 primavera, 6,7,8 verano y 9,10,11 otoño.

Si tecleo el 3 el script me responderá que estamos en Primavera

var nMes, estacion;

nMes = parseInt(prompt("Indica el número del mes 1 al 12"));

switch (nMes){

    case 12:

    case 1:

    case 2:

        estacion = "Invierno";

        break;

    case 3:

    case 4:

    case 5:

        estacion = "Primavera";

        break;

    case 6:

    case 7:

    case 8:

        estacion = "Verano";

        break;

    case 9:

    case 10:

    case 11:

        estacion = "Otoño";

        break;

    default:

        estacion = "desconocida";

}

alert("La estación del año es "+estacion);

En este ejercicio el usuario entra la longitud de la base y el alto de un cuadrado. Si la base y el alto son idénticos la respuesta será "Es un cuadrado", si la base es mayor que el alto dira "Rectángulo horizontal" y en caso contrario dirá "Rectángulo vertical".
Si entro base es 10, alto es 5. Resultado rectángulo

codigo de solución

En una tienda coches se quiere redirigir a un cliente hacia una sección de acuerdo al tipo de coche que elija. Si elige tipo gasolina o 1 se le enviará a la oficina numero 100. Si elije el tipo diesel o 2 irá a la oficina 200 y si elige eléctrico o 3 se le enviará a la oficina 300.
Por ejemplo tecleo el número 2, el mesnaje me dirá que vaya a la oficina 200

let tipo, oficina, msg;

tipo = prompt("Elija el tipo de coche");

switch(tipo){

    case 'gasolina':

    case '1':

        oficina ="100, gasolina";

        break;

    case 'diesel':

    case '2':

        oficina = "200, diesel";

        break;

    case 'electrico':

    case '3':

        oficina = "300, electrico";

        break;

     default:

        oficina='x';

}

msg = (oficina == 'x') ?  "Opción inválida": ("Oficina "+oficina);

alert(msg);

Un comerciante hace descuentos a sus clientes de la siguiente forma:
Si ha comprado menos de 100 euros no hay descuento
Si la compra está entre 100 y 300 euros le descuenta un 5%
Si la compra está por encima de 300 hasta 500 euros le descuenta un 10%
Si la compra supera los 400 euros le descuenta un 15%

Es decir: hago una compra de 150 euros pago 150 - 5% de 150, o sea 142,5 euros.

let factura, total;
factura = parseInt(prompt('¿Cuánto ha comprado?') );

switch (true){

    case (factura >=100 && factura <= 300):

        descuento = 5;

        break

    case (factura >300 && factura <=400):

        descuento = 10;

        break

    case (factura >400):

        descuento = 15;

        break

    default:

        descuento = 0;

   }

total = factura*(1 - descuento/100);

alert("Debe pagar: " + total + "€");

En este ejercicio el script convertirá las notas numéricas de un examen en paabras: 0 - 4 suspenso, 5-6 aprobado, 7-8 notable, 9-10 sobresaliente.
Si tecleo 8 me dirá "Tu calificación es  notable"

let nota;

nota = parseInt(prompt("¿Cual es tu nota 0-10)"));

switch (true){

    case (nota <  5):

        msg = "Suspenso";

        break;

    case (nota >=5 && nota <7):

        msg = "Aprobado";

        break;

    case (nota>=7 && nota <9):

        msg = "Notable";

        break;

    case (nota >8 && nota <=10):

        msg = "Sobresaliente";

        break;

    defult:

        msg = "Valor incorrecto";

}

alert("Tu calificación es "+msg)

scripts