En un ejercicio anterior hemos programado un traductor muy básico usando dos estrategias diferenciadas:
Con un for recorriendo un array y con un if evaluando todos los casos posibles.
En este ejercicio veremos que en ocasiones hay estructuras de programación mucho más adaptadas a determinados problemas.
En este ejercicio compararemos un problema resuelto con un if versus un switch.
Este es el ejercicio al que nos estamos refiriendo.
Es posible que este pequeño repaso te sea útil.
Pasemos al enunciado.
Enunciado
Traduce el código que se te muestra a continuación mediante la estructura de programación switch.
pregunta = window.prompt("que palabra quieres traducir");
if(pregunta == "manzana"){
document.write("poma");
}else if(pregunta == "pera"){
document.write("pera");
}else if(pregunta == "naranja"){
document.write("taronja");
}else if(pregunta == "cereza"){
document.write("cirera");
}else{
document.write("lo sentimos no disponemos de esta traducción");
}
Solución del ejercicio
El switch se basa en evaluar todos los resultados que pueda tener una determinada variable.
En el caso de la solución presentada se trata de la variable semana.
A continuación debemos tener en cuenta que cada caso posible de ir acompañado de una sentencia break.
El break indica al navegador que ya no debe evaluar más caso. Por lo que es importante no olvidarlo.
En caso contrario evaluaría también el caso default y el programa podría escribir un texto no deseado a pesar de encontrar una solución.
pregunta = window.prompt("que palabra quieres traducir");
switch(pregunta){
case "manzana":
document.write("poma");
break;
case "pera":
document.write("pera");
break;
case "naranja":
document.write("taronja");
break;
case "cereza":
document.write("cirera");
break
default:
document.write("lo sentimos no disponemos de esta traducción")
}
¡Hola!
Querido lector,
En este caso concreto el switch es mucho más limpio que el if.
A mi modo de ver es incluso más intuitivo. Sin embargo es necesario conocer cuantas más estructuras mejor.
¡Si te ha gustado este contenido te animo a seguirme en mi perfil de empresa de Linkedin!
Deja una respuesta