Herramientas de usuario

Herramientas del sitio


escusabaraja

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
escusabaraja [2024/06/11 09:21] – [Work] tempwinescusabaraja [2024/10/02 11:39] (actual) tempwin
Línea 99: Línea 99:
  
  
-===== Repartidor ===== 
- 
-Calcular reparto: 
- 
-<code php> 
-/* 
-    Devuelve el número de elementos que deben asignarse a 
-    cada semana de forma equitativa. 
-*/ 
-function repartidor($num_elementos, $num_semanas) { 
-  
-    $division = ($num_elementos / $num_semanas); 
-  
-    if ($division < 1) { 
-        for ($s = 1; $s <= $num_semanas; $s++) { 
-            if ($s == 1) { 
-                $tmp[$s] = $num_elementos; 
-            } else { 
-                $tmp[$s] = 0; 
-            } 
-  
-        } 
-        return $tmp; 
-    } else { 
-        $reparto = round($num_elementos / $num_semanas); 
-        $ultimo_reparto = $num_elementos - $reparto*($num_semanas - 1); 
-  
-        for ($s = 1; $s <= $num_semanas; $s++) { 
-            if ($s == $num_semanas) { 
-                $tmp[$s] = $ultimo_reparto; 
-            } else { 
-                $tmp[$s] = $reparto; 
-            } 
-        } 
-  
-        return $tmp; 
-    } 
-  
-} 
-</code> 
- 
-Reparto: 
- 
-<code php> 
-/* 
-  Para cada conjunto de elementos, realiza un reparto en X semanas 
-*/ 
-$semanas = 8; 
- 
-foreach ($conjuntos as $conjunto) { 
-    $repartidor = repartidor(count($conjunto), $semanas); 
- 
-    for ($s = 1; $s <= $semanas; $s++) { 
-        echo " - Para la semana {$s}: {$repartidor[$s]} elementos" . PHP_EOL; 
-        for ($i = 0; $i < $repartidor[$s]; $i++) { 
-            $reparto_semanas[$s][] = array_shift($contenedor); 
-        }     
-    } 
-} 
-</code> 
- 
-Ahora el código que realiza el reparto: 
- 
-<code php> 
-$semanas = 8; 
-$max_por_semana = 5; 
-$faltantes = []; 
- 
-// Capacidad de cada semana 
-for ($s = 1; $s <= $semanas; $s++) { 
- $capacidad[$s] = $max_por_semana; 
-} 
- 
-echo "A repartir entre {$semanas} semanas" . PHP_EOL; 
-echo "Máximo {$max_por_semana} por semana" . PHP_EOL; 
-  
-foreach ($conjuntos as $cliente => $lineas) { 
- //var_dump($lineas); 
- //echo " - - - - - - - -" . PHP_EOL; 
- echo "- - - - - - Cliente {$cliente} - - - - - -" . PHP_EOL; 
- echo "* Líneas: " . count($lineas) . PHP_EOL; 
-    $repartidor = repartidor(count($lineas), $semanas); 
-    echo "Reparto propuesto:" . PHP_EOL; 
-    var_dump($repartidor); 
-  
-    for ($s = 1; $s <= $semanas; $s++) { 
-    echo "Semana {$s}" . PHP_EOL; 
-        for ($i = 1; $i <= $repartidor[$s]; $i++) { 
-     // Comprobar espacio semana X 
-        if ($capacidad[$s] != 0) { 
-            $reparto_semanas[$s][] = array_shift($lineas); 
-            } else { 
-            //$repartidor[$s+1] += ($repartidor[$s]-$s); 
-            break; 
-            } 
-            $capacidad[$s]--; 
-            echo "Huecos libres: {$capacidad[$s]}" . PHP_EOL; 
-        } 
-    } 
-    if (count($lineas) != 0) { 
-    //echo "Faltan por meter: " . PHP_EOL; 
-    $faltantes[$cliente] = $lineas; 
-    //var_dump($conjunto); 
-    } 
-} 
- 
-//echo "Resultado final: " . PHP_EOL; 
-//var_dump($reparto_semanas); 
-/* 
-echo "Faltan por meter: " . PHP_EOL; 
-foreach ($faltantes as $cliente => $lineas) { 
- echo "Cliente {$cliente}" . PHP_EOL; 
- echo "  Líneas:" . PHP_EOL; 
- foreach ($lineas as $linea) { 
- echo " - ID: " . $linea["id_linea" . " (Marca: " . $linea["marca" . ")" . PHP_EOL; 
- } 
-} 
-*/ 
- 
-echo " * * * * * * * Reparto * * * * * * * *" . PHP_EOL; 
-foreach ($reparto_semanas as $semana => $lineas) { 
- echo "Semana {$semana}" . PHP_EOL; 
- foreach ($lineas as $linea) { 
- echo " - Línea: " . $linea["id_linea"] . " (cliente: " . $linea["cliente"] . ")" . PHP_EOL; 
- } 
-} 
- 
-if (count($faltantes) != 0) { 
- echo "No se han podido meter:" . PHP_EOL; 
- var_dump($faltantes); 
-} 
-//var_dump($faltantes); 
-</code> 
  
 ===== Monitor 27 pulgadas ===== ===== Monitor 27 pulgadas =====
Línea 245: Línea 112:
  
  
-===== Daniela y Mia ===== 
- 
-  * [[https://www.amazon.es/dp/B0BQBNFWWP/|Kit manualidades cartas y sellos]] 
-  * [[https://www.amazon.es/dp/B09NSX234B/|Diario con candado]] 
-  * [[https://www.amazon.es/dp/B08T9QWBZL/|Juego de memoria]] 
  
 ===== Docker nginx-proxy ===== ===== Docker nginx-proxy =====
Línea 403: Línea 265:
   * 1 monitor HDMI, USB C?: https://es.aliexpress.com/item/1005005697546796.html - 13 €   * 1 monitor HDMI, USB C?: https://es.aliexpress.com/item/1005005697546796.html - 13 €
   * 1 monitor HDMI, USB 3.0, alimentación USB C: https://es.aliexpress.com/item/1005006846252014.html - 17,85 €   * 1 monitor HDMI, USB 3.0, alimentación USB C: https://es.aliexpress.com/item/1005006846252014.html - 17,85 €
- 
escusabaraja.1718090473.txt.gz · Última modificación: por tempwin