This commit is contained in:
Marcos Lopez 2024-01-29 09:15:05 +01:00
parent f482a5c3dd
commit 6d00e5cc0e
2 changed files with 213 additions and 0 deletions

View File

@ -0,0 +1,86 @@
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<title>OBJETO MATH JAVASCRIPT</title>
<script type="text/javascript">
// 1.Constantes:
// Math.PI: Devuelve el valor de PI (3.14159...).
// Math.E: Devuelve el valor de la constante de Euler (2.71828...).
console.log(Math.PI); // Muestra el valor de PI
console.log(Math.E); // Muestra el valor de la constante de Euler
//2. Funciones trigonométricas:
// Math.sin(x): Devuelve el seno de x, donde x está en radianes.
// Math.cos(x): Devuelve el coseno de x, donde x está en radianes.
// Math.tan(x): Devuelve la tangente de x, donde x está en radianes.
var angle = Math.PI / 4;// 45 grados una circunferencia tiene 2PI radianes
console.log(Math.sin(angle)); // Seno de 45 grados
console.log(Math.cos(angle)); // Coseno de 45 grados
console.log(Math.tan(angle)); // Tangente de 45 grados
//3. Funciones exponenciales y logarítmicas:
// Math.exp(x): Devuelve e elevado a la potencia x.
// Math.log(x): Devuelve el logaritmo natural de x.
// Math.pow(base, exponente): Devuelve base elevado a la potencia exponente.
// O con doble **
console.log(Math.exp(2)); // e^2
console.log(Math.log(Math.E)); // Logaritmo natural de e
// Usando Math.pow()
let resultado1 = Math.pow(2, 3); // 2^3 = 8
console.log(resultado1);
// Usando el operador de doble asterisco (**)
let resultado2 = 2 ** 3; // 2^3 = 8
console.log(resultado2);
//4. Redondeo y truncamiento:
// Math.round(x): Redondea x al entero más cercano.
// Math.floor(x): Redondea x hacia abajo al entero más cercano.
// Math.ceil(x): Redondea x hacia arriba al entero más cercano.
console.log(Math.round(2.7)); // Redondea a 3
console.log(Math.round(2.5)); // Redondea a 3
console.log(Math.floor(2.7)); // Redondea hacia abajo a 2
console.log(Math.ceil(2.1)); // Redondea hacia arriba a 3
//5. Funciones aleatorias:
// Math.random(): Devuelve un número decimal aleatorio entre 0 (inclusive) y 1 (exclusivo).
var randomNum = Math.random();
console.log(randomNum);
var numeroAleatorio3C = Math.floor(Math.random() * 1000);
console.log(numeroAleatorio3C);
//6. Valor absoluto:
// Math.abs(x): Devuelve el valor absoluto de x.
var num = -7;
console.log(Math.abs(num)); // Valor absoluto de -7 = 7
//7. Raíz cuadrada:
// Math.sqrt(x): Devuelve la raíz cuadrada de x.
var squareRoot = 25;
console.log(Math.sqrt(squareRoot)); // Raíz cuadrada de 25
//8. Mínimo y máximo:
// Math.min(x1, x2, ..., xn): Devuelve el valor más bajo entre los argumentos.
// Math.max(x1, x2, ..., xn): Devuelve el valor más alto entre los argumentos.
console.log(Math.min(10, 5, 8)); // Devuelve 5
console.log(Math.max(10, 5, 8)); // Devuelve 10
//parseInt() y parseFloat()
//parseInt(cadena, base);
var cadena = "123";
var numero = parseInt(cadena);
console.log(numero); // Resultado: 123
var cadena2 = "2.54";
var numero2 = parseInt(cadena2);
console.log(numero2); // Resultado: 2
</script>
</head>
<body>
</body>
</html>

View File

@ -0,0 +1,127 @@
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Coste alquiler JAVASCRIPT</title>
<script>
// Una función para realizar todas las instrucciones
function obtener() {
// Obtengo el numero de días y el tipo de vehículo
let dias=document.getElementById("dias").value;
let tipo=document.getElementById("tipo").value;
// Asigno el seguro a todo riesgo y el precio del tipo de coche
if (tipo === "basico") {
tipoP=45;
riesgo=15;
}
if (tipo === "gamamedia") {
tipoP=65;
riesgo=25;
}
if (tipo === "lujo") {
tipoP=85;
riesgo=35;
}
// Calculo el coste del vehículo + seguro
let vehiculo;
if (document.getElementById("riesgo").checked) {
vehiculo=dias*(tipoP+riesgo);
} else {vehiculo=dias*(tipoP+10)}
//Condición silla y gps
let silla;
if (document.getElementById("silla").checked) {
silla=15;
} else { silla=0}
let gps;
if (document.getElementById("gps").checked) {
gps=5;
} else { gps=0}
//Calculo coste de los extras
let extras=(silla+gps)*dias;
//Calculo vehículo + extras con IVA
let total=vehiculo+extras;
let totalI=(total*1.21);
//Calculo el recargo por menor de 30
let precioMenor;
if (document.getElementById("menor").checked) {
precioMenor=totalI*0.3;
} else { precioMenor=0 }
// Calculo el total
let totalF=(totalI+precioMenor).toFixed(2);
document.getElementById("total").value=totalF;
// Mensaje alert
//Fecha del momento de la reserva
let hoy=new Date().getTime();
//Fecha para inico del alquiler
let inicio=document.getElementById("fecha").valueAsNumber;
// Calculo los días que faltan
let dif=inicio-hoy;
let diasF=dif/(1000*60*60*24);
// Calculo la fecha de entrega
let entrega=inicio+(dias*24*60*60*1000);
let entregaF=new Date(entrega);
// Obtengo la fecha de entrega en formato local dd-mm-xxxx
let entregaP=entregaF.toLocaleDateString();//.toLocaleDateString()
//alert("Faltan "+(Math.ceil(dias))+ " días"+"\n"+"Tu fecha de entrega es el "+entregaP);
//Creo el mensaje
let frase="Faltan "+(Math.ceil(diasF))+ " días "+"para tu alquiler"+"\n"
+"Tu fecha de de entrega del vehículo es el "+entregaP+"\n";
alert(frase);
}
</script>
</head>
<body>
<div id="container">
<form>
<h1>Alquiler de vehículo</h1>
<p>Introduzca número de dias de alquiler
<input type="number" name="dias" id="dias" size="3" value="0">
<p>Elige la fecha de inicio del alquiler<input type="date" id="fecha"></p>
<br>
<p>Seleccione el tipo de vehículo
<!-- Lista de selección -->
<select name="tipo" id="tipo">
<option value="basico">Básico 45 Euros/día</option>
<option value="gamamedia">Gama media 65 Euros/día</option>
<option value="lujo">Lujo 85 Euros/día</option>
</select></p>
<h2>Elementos opcionales</h2>
<p>Silla Infantil * 15 Euros por día de alquiler<input type="checkbox" name="silla" id="silla" value="Silla Infantil"></p>
<p>GPS * 5 Euros por día de alquiler <input type="checkbox" name="gps" id="gps" value="Gps"></p>
<h2>Seguro</h2>
<p>** El seguro a terceros es obligatorio y tiene un coste de 10 Euros/día sin IVA</p>
<p>Seguro a todo riesgo <input type="checkbox" name="riesgo" id="riesgo" value="Has contratado seguro a todo riesgo"></p>
<p>Conductor menor de 30 años <input type="checkbox" name="menor" id="menor" value="Tienes recargo por ser menor de 30 años"></p>
<p>Coste total <input type="text" name="total" id="total" ></p>
<input type="button" value="Calcular coste total" onclick="obtener();">
</form>
</div>
<br>
</body>
</html>