Solucionado (ver solución)
Solucionado
(ver solución)
5
respuestas

CONSULTA

Hola Buen dia a todos ! queria consultar algo en esta etapa que deberia comprender mejor pero no se por que se me dificulta en este caso comprenderlo ... les comparto el codigo del instructor y quiero sacarme la duda por que en este caso al ser menor el acompañante da como valido la ejecucion del codigo

console.log(`Trabajando con condiciones`);

const ciudadesDisponibles = new Array();

ciudadesDisponibles.push('Bogotá');
ciudadesDisponibles.push('Caracas');
ciudadesDisponibles.push('Limas');


const edadComprador = 15;
const estaAcompanado = true; // Variable booleana: true o false
const tienePasaje =true;


if (edadComprador >= 18 || estaAcompanado) {
    //Aqui se ejecuta el código si la edad del comprador es mayor a 18
    // es decis es mayor de Edad
    console.log(`Es posible vender pasajes`);
    console.log(`Ciudades disponibles para viaje`);
    console.log(ciudadesDisponibles);
}
 else {
    console.log(`El comprador NO es mayor de edad y NO está acompañado`);
    console.log(`No es posible ofrecer viajes`);

}

//Proceso embarque
console.log(`Proceso de embarque: \n \n`);
//             A         Y        B   ( C O D  condicion evalua primero la condicion dentro de B)
if( tienePasaje && (edadComprador >=18 || estaAcompanado)){
    console.log(`Comprado con pasaje.Feliz vaje`);
}else{
    console.log(`Comprador sin pasaje. No es posible el embarque`);
}
Lo que intento comprender logicamente a ver si es correcto .....las variables asignadas ( const edadComprador = 15 ) y las variables con asignacion Tipo de dato booleano  ( const estaAcompanado = true )  ( const tienePasaje = true )  ahi ejecuta bien el comanado pero ** lo que intento comprender es el operador que se usa en la if (edadComprador >=18)** por que en este caso funciona con >= capaz es una pavada lo que pregunto pero necesito tenerlo claro. Desde ya muchas gracias espero que se haya comprendido mi duda.
5 respuestas

Hola Horacio,

Lo que entiendo es que preguntas el por qué la condición (if (edadComprador >= 18 || estaAcompanado)) es válida si la edad del comprador es menor a 18.

Y la respuesta es porque en este caso la condición contiene un OR (||) es decir, que la edad debe ser mayor o igual a 18 O en el caso que no lo sea (por ejemplo: 15 años, como se indica aqui) si se encuentra acompañado, la condición tambien seria válida.

Es decir, no requiere cumplir ambas condiciones, con una sóla que se cumpla es suficiente.

Dejame saber si esa era tu inquietud.

Que estes muy bien.

Hola María Lucía , como estas , desde ya muchas gracias por tu respuesta ! Para que me quede bien claro, entonces, dentro de la condicion del if () si existe un OR (II) , por mas que una de las condiciones de las variables este indicando que tiene que ser mayor o igual a 18 , y en la otra condicion de la variable este indicando( lo opuesto ) la e que la persona que lo acompaña seria menor de edad .... nos va a dar TRUE por que puede por que toma una de las 2 condiciones como válida.

Ahora te doy otro ejemplo que indicaria lo mismo ....es a modo de ejemplo si lo pusiera asi ..obvio que hay que cambiar algunas cosas te lo detallo mas o menos asi :

const edadComprador1 = 15; const edadComprador2= true; const tienePasaje =true;

if (edadComprador1 >= 18 II edadComprador2 <=18)

me devolveria TRUE

Hola Horacio, La segunda condición (estaAcompanado) que veíamos en el código, al ser booleana no nos permite saber si es menor de edad o no. La condición solamente requeria saber si la persona, al ser menor de edad iba a estar acompañado, y como alguna de las dos condiciones del IF se cumplió (al ser una OR) entonces el if ahi seria válido = TRUE.

En el otro ejemplo que dices la constante edadComprador2 la pones inicialmente como booleano (TRUE) y en el condicional le preguntas como si fuera un número entero. En ese caso seria inicializar edadComprador2 con un número y ahí si harias el condicional, es decir asi:

const edadComprador1 = 15; const edadComprador2 = 18; (por ejemplo)

if(edadComprador1 >= 18 II edadComprador2 <=18)

No se si me hice entender bien y espero haber ayudado :)

solución!

Hola buen dia Maria , como estas ? . Primero quiero agradecerte por tomarte el tiempo de esplicarmelo , ahora si lo comprendi y pude entender y comprender bien las diferencias .Espero que sigas muy bien .Saludos cordiales.

Con mucho gusto! :)