Vamos a trabajar el if. Recordemos que es una estructura de control que nos permite realizar una acción u otra dependiendo de una serie de condiciones.
if (condicion){
//Acciones si la condición es cierta
} else{
//Acciones si la condición es falsa
}
Vamos a realizar una serie de funciones que sólo utilizarán if
1.- Crear una función esPar que nos devuelva true si el número que le pasamos es par y false en caso contrario. Ej. esPar(7)->false esPar(100)->true
2.- Crear una función longitudPar que le pasemos una cadena y nos devuelva true si su longitud es par y false en caso contrario. Ej. longitudPar(‘hola’)->true longitudPar(‘patas’)–>false
3.- Crear una función irpf a la que le pasemos un sueldo y nos devuelva:
Si el sueldo está entre 0 y 2000 no incluído-> 0.1
Si el sueldo está entre 2000 y 5000 no incluído ->0.2
Si es mayor o igual que 5000->0.3
Ej: irpf(800)->0.1 irpf(8000)->0.3
4.- Crear una función corta a la que le pasamos dos cadenas y nos devuelve la cadena más corta. Ej. corta(‘que’,’pasa’)-> ‘corta’
5.- Crear una función descuento a la que le pasamos una categoría y un importe y nos devuelve:
Si la categoría es ‘sanitarios’ y el importe es >= 500 ->0.05
Si la categoría es ‘sanitarios’ y el importe es >= 1000 ->0.1
Si la categoría es ‘grifería’ y el importe es >= 700 ->0.05
Si la categoría es ‘grifería’ y el importe es >= 1200 ->0.1
En cualquier otro caso devuelve 0
function esPar (numero) {
// Si yo tengo un if en el que una rema me devuelve true y la otra false
// Esto es equivalente a devolver la condicion
// return numero%2==0
if (numero % 2 === 0) {
return true
} else {
return false
}
}
function esParCorta (numero) {
return numero % 2 == 0
}
function longitudPar (cadena) {
if (cadena.length % 2 === 0) {
return true
} else {
return false
}
}
function longitudParReciclaje (cadena) {
return esPar(cadena.length)
}
// true si los números tienen la misma paridad y false en caso contrario
function paridadIgual (num1, num2) {
if (esPar(num1) == esPar(num2)) {
return true
} else {
return false
}
}
function paridadIgualCorta (num1, num2) {
return esPar(num1) == esPar(num2)
}
function irpf (sueldo) {
if (sueldo < 2000) {
return 0.1
} else if (sueldo < 5000) {
return 0.2
} else {
return 0.3
}
}
function irpfTramos (sueldo) {
const tramo1 = 0.1
const tramo2 = 0.2
const tramo3 = 0.3
if (sueldo < 2000) {
return tramo1
} else if (sueldo < 5000) {
return tramo2
} else {
return tramo3
}
}
function corta (cadena1, cadena2) {
if (cadena1.length < cadena2.length) {
return cadena1
} else {
return cadena2
}
}
function corta2 (cadena1, cadena2) {
let corta = cadena1
if (cadena2.length < cadena1.length) {
corta = cadena2
}
return corta
}
function corta3 (cad1, cad2) {
// Operador ternario, es como un if de bolsillo
const corta = (cad1.length < cad2.length) ? cad1 : cad2
return corta
}
/*
Si la categoría es ‘sanitarios’ y el importe es >= 500 ->0.05
Si la categoría es ‘sanitarios’ y el importe es >= 1000 ->0.1
Si la categoría es ‘grifería’ y el importe es >= 700 ->0.05
Si la categoría es ‘grifería’ y el importe es >= 1200 ->0.1
En cualquier otro caso devuelve 0
*/
function descuento (categoria, importe) {
let descuento = 0
if (categoria == 'sanitarios') {
if (importe >= 1000) {
descuento = 0.1
} else if (importe >= 500) {
descuento = 0.05
}
}
if (categoria == 'griferia') {
if (importe >= 1200) {
descuento = 0.1
} else if (importe >= 700) {
descuento = 0.05
}
}
return descuento
}
function descuento2 (categoria, importe) {
let descuento = 0
if ((categoria == 'sanitarios' && importe >= 1000) || (categoria == 'griferia' && importe >= 1200)) {
descuento = 0.1
} else
if ((categoria == 'sanitarios' && importe >= 500) || (categoria == 'griferia' && importe >= 700)) {
descuento = 0.05
}
return descuento
}
function descuento3 (categoria, importe) {
let descuento = 0
if (categoria == 'sanitario' && cantidad >= 1000) {
descuento = 0.1
} else if (categoria == 'sanitario' && cantidad >= 500) {
descuento = 0.05
} else if (categoria == 'griferia' && cantidad >= 1200) {
descuento = 0.1
} else if (categoria == 'griferia' && cantidad >= 700) {
descuento = 0.05
}
return descuento
}