Escribir un diccionario sencillo con if versus con for – ejercicio JS

Escribir un diccionario sencillo con if versus con for – ejercicio JS

En este ejercicio vamos a practicar los conceptos de lógica de programación con condicionales simples y con una estructura recursiva.

Solucionaremos un mismo ejercicio de dos formas diferentes y así podremos ver las ventajas y necesidades de hacerlo con un for versus con un if.

Las siguientes lecturas te pueden ayudar:

Pasemos al enunciado.

Enunciado

Se desea programar un diccionario que pregunte al usuario una palabra y a continuación la devuelva traducida.

Soluciónalo de dos formas distintas. La primera recorriendo un array. La segunda mediante un if o switch.

Como idea puedes usar las siguientes pistas.

var castellano = ["melón","naranja","plátano","uvas","manzana"];
var catala = ["meló","taronja","plàtan","raïm","poma"];

 

Solución mediante un for

Para solucionar el diccionario mediante el for partiremos la premisa de que disponemos de un array con todas las posibles palabras en un array de nombre castellano.

Y otro array con todas las traducciones en otro idioma. Por ejemplo el catalán.

La idea es localizar la posición dentro del array (vector, lista) en que se encuentra una palabra para escribir la misma posición pareja de la lista en catalán.

De este modo podemos traducir de un idioma a a otro.

var castellano = ["melón","naranja","plátano","uvas","manzana"];
var catala = ["meló","taronja","plàtan","raïm","poma"];
var pregunta = window.prompt("Di una palabra que quieras traducir del castellano al catalán");
var posicion = -1;

for(var i=0; i<castellano.length;i++){
	if(castellano[i]==pregunta){
		posicion = i;
	}
}

if(posicion<0){
	document.write("lo sentimos, nuestro diccionario no dispone de esta esta traducción")
}else{
	document.write("la traducción de la palabra " + pregunta + " es " + catala[posicion]);
}

Solución del ejercicio mediante un if

En el caso del if evaluaremos caso por caso.

Si se dal a circunstancia de no encontrar la palabra, en cualquier otro caso devolveremos una respuesta diciendo que el diccionario no dispone de la traducción.

pregunta = window.prompt("que palabra quieres traducir");

// en este caso lo haremos mediante un if else if. poco práctico pero académico.

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");
}

A continuación sería interesante resolver este mismo ejemplo con un switch en lugar de un if.

Dejémoslo para otro ejercicio de este tutorial.

¡Hola!

Querido lector,

Deseo que estos dos ejemplos te sean de utilidad.

Fíjate que el for ha requerido de una base de datos (el array) en formato lista que ha sido necesario recorrer en su totalidad. Esto es en realidad poco eficiente.

En cuanto al if fíjate que hemos tenido que escribir mucho.

En cualquier caso ha sido una buena excusa para practicar con el if y con el for.

¡Si te ha gustado este contenido te animo a seguirme en mi perfil de empresa de Linkedin!

¿Te ha gustado esta publicación?

¡Valora sobre 5 estrellas esta publicación!

Puntuación media / 5. Votos:

Todavía no hay votos. Sé el primero en valorar la entrada.

Si te ha gustado este contenido...

¡Sígueme en las redes!

Vaya, parece que hay puntos a corregir

¿Me ayudas a mejorar?

Francesc Ricart
hola@francescricart.com

Aprender y enseñar. Enseñar y aprender. En el ámbito docente soy docente ocupacional. En el ámbito profesional consultor web. Ofrezco servicios de mejora continua y mantenimiento web. ¿Qué quieres aprender hoy? Encontraréis más acerca de mi en la página sobre mi

No hay comentarios

Escribir un comentario

  Acepto la política de privacidad

Responsable: FRANCESC RICART MUÑOZ.

Finalidad: Gestionar los comentarios que realizas en este blog.

Destinatarios: No se cederán datos a terceros, salvo obligación legal.

Derechos: Tienes derecho a acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la política de privacidad.