2
respuestas

Duda

Buenas noches Quisiera saber por qué en el código realizado , al escribir que el presupuesto es de 390, sólo sale que se puede comprar pasajes a Santiago, cuando también debería salir Montevideo.

const ciudadesDisponibles = new Array("Bogotá", "Lima", "Santiago", "Montevideo"); const precioCiudad = new Array(500, 400, 380, 200); const presupuestoDisponible = 390;

let i = 0;

while (precioCiudad[i]> presupuestoDisponible && i < ciudadesDisponibles.length){ i++; } if (i == ciudadesDisponibles.length) console.log("No tenemos pasajes disponibles"); else console.log("Puedes comprar pasajes para: " + ciudadesDisponibles[i]);

imac@192 Aula1 % node 13-lazos.js Puedes comprar pasajes para: Santiago

2 respuestas

Hola, resulta que el while hace la repeticion MIENTRAS se cumpla la condicion, entonces en el momento que se cumple el rompe y se sale. Entonces cuando enconto el valor salio automaticamente, tu pregunta es valida y para eso tendriamos que hacer algo asi.

un WHILE y dentro de el un IF entonces mientras que el contador sea menor o igual que el tamaño del arreglo ValorPasaje debe ejecutar el IF, si el arreglo tiene 8 valores entonces lo ejecutara 8 veces, pero si observas el IF tiene una condicion y es que si el valor del pasaje es menor o igual al presupuesto escriba la ciudad y el valor. ahi puse una variable x para poder saber si no hay un precio con el valor del presupuesto, entonces esa variable x solo se va incrementar si el programa entra al IF de lo contrario se mantendra en 0, y al final solo le digo que si la variable x es igual a 0 escriba que no hay ciudades disponibles.

/codigo/

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Salu2.... :D

Muchas gracias por la aclaración