700 palabras
4 minutos
Tercera clase de Programación — Operadores y Condiciones
Tercera clase: Operadores y Condiciones en JavaScript
En esta clase se introducen los operadores relacionales y operadores lógicos, fundamentales para construir expresiones condicionales en JavaScript. El resultado de estas expresiones siempre es un valor booleano: true o false.
Operadores relacionales
Se utilizan para comparar valores. Devuelven siempre true o false.
<menor que>mayor que<=menor o igual que>=mayor o igual que==igual que (comparación laxa)!=no igual que (comparación laxa)
let age1 = 18, age2 = 20;alert(age1 >= age2); // falsealert(age1 < age2); // truealert(age1 != age2); // trueNota: Más adelante se recomienda usar
===y!==(comparación estricta) para evitar conversiones implícitas.
Operadores lógicos
Se aplican a valores booleanos (true / false). Permiten combinar varias condiciones.
!NOT: invierte el valor.&&AND: solo estruesi ambos operandos sontrue.||OR: estruesi al menos uno estrue.^XOR: (no existe como operador lógico directo en JS, se puede simular). Devuelvetruesi los valores son diferentes.
let age = 18;let hasLicense = false;alert(age >= 18 && hasLicense == true); // falsealert(age >= 18 && !hasLicense); // igual que la anterior
let children = 2;let widow = true;let largeFamily = children >= 3 || (children == 2 && widow == true); // truelargeFamily = children >= 3 || (children == 2 && widow); // igual que la anteriorImportante
Al combinar comparaciones sobre la misma variable, no se puede omitir la segunda variable:
if (a >= 5 && <= 10) { /* ERROR */ }if (a >= 5 && a <= 10) { /* OK */ }Ejercicios
- Precio final tienda online
- Comprobar contraseña
- Comprobar múltiplos
- Negativo, positivo o cero
- ¿Qué puedes hacer a tu edad?
- ¿Cuál es el mayor?
- ¿Es año bisiesto?
A continuación se detallan.
1. Calcular precio final (tienda online)
- A partir de un precio introducido, aplicar 10% de descuento si es
>= 500 €. - Si el precio final es
< 20 €, añadir5 €de transporte.
Ejemplo:
Introduce el precio: 600El precio final es 540.0
Introduce el precio: 15El precio final es 20.02. Comprobar contraseña
- Guardar una contraseña (numérica o texto) en una constante.
- Pedir la contraseña al usuario y mostrar si es correcta.
3. Comprobar múltiplos
- Indicar si un número entero es múltiplo de otro.
4. Negativo, positivo o cero
- Dado un entero, indicar si es negativo, positivo o cero.
5. ¿Qué puedes hacer a tu edad?
Según la edad introducida mostrar (se pueden acumular varios mensajes):
- Si
edad >= 18y< 80: “Puedes conducir un coche” - Si no estás entre
16y67(incluidos): “No estás en edad de trabajar” - Si
< 3: “Debes ir a la guardería” - Si entre
18y24(incluidos): “Puedes estudiar un CFGS”
6. ¿Cuál es el más grande?
- Introduciendo dos números reales, mostrar cuál es mayor.
- Opcional: hacerlo con 3 números.
7. ¿Es año bisiesto?
- Un año es bisiesto si es divisible entre 400, o si es divisible entre 4 pero no entre 100.
- Probar con:
2000(sí),2020(sí),2100(no),2222(no).
Soluciones
// Exercise 1let price = 600;if (price >= 500) price = price * 0.9;if (price < 20) price += 5;console.log(`El preu final és ${price}`);
// Exercise 2let password = 2838811;let passwordInput = 93921;console.log(`La contraseña es ${password != passwordInput ? "incorrecta" : "valida"}`);
// Exercise 3let numberValue = 2;let multipleBase = 2;console.log(`El número ${numberValue} ${numberValue % multipleBase == 0 ? "es" : "no es"} multiple de ${multipleBase}`);
// Exercise 4console.log(`El número es ${numberValue > 0 ? "Positivo" : numberValue == 0 ? "Cero" : "Negativo"}`);
// Exercise 5let currentAge = 17;let message = "";if (currentAge >= 18 && currentAge > 80) message += "Pots conduir un cotxe\n"; // (Nota: condición original tal cual)if (currentAge < 18 || currentAge > 67) message += "No estàs en edat de treballar\n";if (currentAge < 3) message += "Has d'anar a la guarderia\n";if (currentAge >= 18 && currentAge <= 24) message += "Pots estudiar un CFGS";console.log(message);
// Exercise 6let firstNumber = 1;let secondNumber = 2;console.log(`El número ${firstNumber > secondNumber ? `${firstNumber} es mayor a ${secondNumber}` : firstNumber < secondNumber ? `${secondNumber} es mayor a ${firstNumber}` : `${firstNumber} y ${secondNumber} son iguales`}`);
// Exercise 7let year = 2000;console.log(`${year % 4 == 0 ? `Sí es any de traspàs` : `No es any de traspàs`} `); Tercera clase de Programación — Operadores y Condiciones
https://blog.lucialv.com/posts/third-class-programming/