Código de JavaScript - Cuantas cajas caben en un contenedor

Imágen de perfil
Val: 1.011
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Cuantas cajas caben en un contenedorgráfica de visualizaciones


JavaScript

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 29 de Octubre del 2019 por joel
586 visualizaciones desde el 29 de Octubre del 2019
Este código realiza el calculo para ver cuantas cajas pueden caber en un contenedor dado, probando de poner las cajas en todas sus posiciones.

cajas-dentro-contenedor

1
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 29 de Octubre del 2019gráfica de visualizaciones de la versión: 1
587 visualizaciones desde el 29 de Octubre del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
 
    <style>
    #wrapper {text-align:center;}
    form {display:inline-block;border:1px solid #eee;padding:10px;width:210px;}
    form>div {margin-top:10px;overflow:hidden;}
    form label, form label~input {float:left;}
    form label {text-align:right;padding-right:20px;width:60px;}
    form input {text-align:right;width:80px;}
    input[type=button] {padding:10px 20px;}
 
    #result {padding:20px;}
    </style>
 
</head>
 
<body>
 
<div id="wrapper">
 
    <h1>Cuanto cabe en un contenedor</h1>
 
    <form name="contenedor">
        <h2>Tamaño contenedor</h2>
        <div>
            <label>Anchura</label><input type="number" name="anchura" value="235"> cm
        </div>
        <div>
            <label>Altura</label><input type="number" name="altura" value="239"> cm
        </div>
        <div>
            <label>Largo</label><input type="number" name="largo" value="590"> cm
        </div>
    </form>
 
    <form name="caja">
        <h2>Tamaño caja</h2>
        <div>
            <label>Anchura</label><input type="number" name="anchura"> cm
        </div>
        <div>
            <label>Altura</label><input type="number" name="altura"> cm
        </div>
        <div>
            <label>Largo</label><input type="number" name="largo"> cm
        </div>
    </form>
 
    <div>
        <h3 id="result"></h3>
        <input type="button" value="Calcular">
    </div>
 
</div>
 
<script>
document.querySelector("input[type=button]").addEventListener("click", calcular);
 
function calcular(e) {
    let texto=document.getElementById("result");
    texto.innerHTML="";
 
    // revisamos que todos tengan un valor positivo superior a 0
    const input=document.querySelectorAll("input[type=number]");
    input.forEach((el)=>{
        if (el.value<=0) {
            texto.innerHTML="Todos los campos tienen que tener un valor positivo superior a 0";
            return;
        }
    });
 
    if (texto.innerHTML=="") {
 
        // obtenemos los valores de los input
        const contenedorAnchura=document.querySelector("form[name=contenedor] input[name=anchura]").value;
        const contenedorAltura=document.querySelector("form[name=contenedor] input[name=altura]").value;
        const contenedorLargo=document.querySelector("form[name=contenedor] input[name=largo]").value;
 
        const cajaAnchura=document.querySelector("form[name=caja] input[name=anchura]").value;
        const cajaAltura=document.querySelector("form[name=caja] input[name=altura]").value;
        const cajaLargo=document.querySelector("form[name=caja] input[name=largo]").value;
 
        let resultado=[];
 
        // realizamos las operaciones y los guardamos en un array
        resultado.push(operacion([contenedorAnchura, contenedorAltura, contenedorLargo], [cajaAnchura, cajaAltura, cajaLargo]));
        resultado.push(operacion([contenedorAnchura, contenedorAltura, contenedorLargo], [cajaAnchura, cajaLargo, cajaAltura]));
        resultado.push(operacion([contenedorAnchura, contenedorAltura, contenedorLargo], [cajaAltura, cajaAnchura, cajaLargo]));
        resultado.push(operacion([contenedorAnchura, contenedorAltura, contenedorLargo], [cajaAltura, cajaLargo, cajaAnchura]));
        resultado.push(operacion([contenedorAnchura, contenedorAltura, contenedorLargo], [cajaLargo, cajaAltura, cajaAnchura]));
        resultado.push(operacion([contenedorAnchura, contenedorAltura, contenedorLargo], [cajaLargo, cajaAnchura, cajaAltura]));
 
        const max=Math.max(...resultado);
 
        texto.innerHTML="Puedes llegar a poner "+max.toLocaleString()+" cajas";
    }
}
 
function operacion(contenedor, caja) {
    let m1=Math.floor(contenedor[0]/caja[0]);
    let m2=Math.floor(contenedor[1]/caja[1]);
    let m3=Math.floor(contenedor[2]/caja[2]);
    return m1 * m2 * m3;
}
 
function acomodarTipo(tipo) {confirm("El Valor es: " +tipo)}
</script>



Comentarios sobre la versión: 1 (1)

Imágen de perfil
29 de Octubre del 2019
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5618