Подключите нашего Telegram-бота для уведомлений о новых проектах
|
PHP програмирование
Разместить заказ
J
Заказчик
Отзывы фрилансеров:
+ 10
- 0
Зарегистрирован на сайте 14 лет и 7 месяцев
Бюджет:
по договоренности
Составить и реализовать на языке PHP алгоритм вычисления конечных габаритов посылки интернет-магазина, имеющей рациональный минимальный объем и состоящей из одного или нескольких товаров разных габаритов. Для упрощения мы исходим из того, что каждый товар имеет форму параллелепипеда. Под габаритами понимается длина, ширина и высота. Так как ориентация товара не важна, и его можно переворачивать на любую из поверхностей, то разделение этих трех параметров условное. Комплектовать товары можно любым способом (переворачивать, ставить друг на друга, ставить рядом и т.д.), главное, чтобы посылка включала все исходные товары, и конечный объем получился минимальным и рациональным. При этом мы исходим из того что, товары в посылке плотно прилегают друг к другу и все соответствующие поверхности товаров (боковые, нижние, верхние) находятся в параллельных плоскостях, то есть мы не ставим товары под углом и наклоном. Конечные искомые габариты посылки определяются максимальным значением по каждому из параметров (длина, ширина, высота), то есть если при комплектовке на товар с бОльшей длиной сверху кладется товар с меньшей длиной, то итоговой длиной посылки считается бОльшая длина, аналогично и для других двух параметров. Под рациональностью подразумевается возможность дальнейшего использования этих вычислений на практике в реальных условиях, то есть вычисления должны опираться на здравый смысл (так как здравый смысл у всех разный, поэтому допускаются незначительные погрешности в результате). Например, для каких-то исходных данных может получиться, что минимальный объем будет достигнут при выкладывании всех товаров в длину, но на практике таким образом укомплектовать товар и его транспортировать будет не возможно. Пример: необходимо укомплектовать в посылку три товара одинаковой высоты, одинаковой ширины, но разной длины (ширины*высота*длина):
1) 0.5м*0.2м*1м
2) 0.5м*0.2м*0.8м
3) 0.5м*0.2м*0.6м
Минимальный объем при этом будет достигнут, если выложить три товара в длину, тогда габариты посылки будут 0.5м*0.2м*2.4м и объем 0.24 м3. Но на практике укомплектовать и транспортировать такую «колбасу» будет неудобно. Поэтому для этого случая оптимальным будет вариант уложить все друг на друга и итоговые габариты посылки будут 0.5м*0.6м*1м и объем 0.3 м3 (объем больше, но расположение рациональнее).
Исходные данные:
Задан список товаров, которых необходимо укомплектовать в одну посылку. По каждому товару определены 4 параметра: длина, ширина, высота, количество. Структура данных может быть любая на ваше усмотрение: ассоциативный массив, двумерный массив и т.д.
Выходные данные:
Три параметра конечной посылки: длина, ширина, высота.
1) 0.5м*0.2м*1м
2) 0.5м*0.2м*0.8м
3) 0.5м*0.2м*0.6м
Минимальный объем при этом будет достигнут, если выложить три товара в длину, тогда габариты посылки будут 0.5м*0.2м*2.4м и объем 0.24 м3. Но на практике укомплектовать и транспортировать такую «колбасу» будет неудобно. Поэтому для этого случая оптимальным будет вариант уложить все друг на друга и итоговые габариты посылки будут 0.5м*0.6м*1м и объем 0.3 м3 (объем больше, но расположение рациональнее).
Исходные данные:
Задан список товаров, которых необходимо укомплектовать в одну посылку. По каждому товару определены 4 параметра: длина, ширина, высота, количество. Структура данных может быть любая на ваше усмотрение: ассоциативный массив, двумерный массив и т.д.
Выходные данные:
Три параметра конечной посылки: длина, ширина, высота.
Разделы:
Опубликован:
05.07.2014 | 17:12