Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Результаты опроса: задача
код программы 1 100.00%
блок схема 1 100.00%
Опрос с выбором нескольких вариантов ответа. Голосовавшие: 1. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы
Старый 21.09.2012, 10:11   #1
Юлия Б.
Новичок
Джуниор
 
Регистрация: 21.09.2012
Сообщений: 1
По умолчанию бейсик

Здравствуйте! Помогите пожалуйста решить задачу в бейсике.
Грузовой контейнер с основанием a на a и высотой b загружается сверху рядами однотипных коробок объёмом cxcxc или dxdxd.Определить общее число коробок каждого размера ,обеспечивающее максимальное использование объёма контейнера.
Юлия Б. вне форума Ответить с цитированием
Старый 21.09.2012, 23:45   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

капайте в стороны математического моделирования... по оптимальному заполнению пространства..
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 21.09.2012, 23:55   #3
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

капайте в стороны математического моделирования

Копать нельзя - маникюр сломается o_O. Поэтому нужен негр-копатель (((Ж
Rififi вне форума Ответить с цитированием
Старый 21.09.2012, 23:56   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от VIK_aka_TOR Посмотреть сообщение
капайте в стороны математического моделирования... по оптимальному заполнению пространства..
А вот и не верно. Простой перебор, самое нерациональное решение, особенно если коробок больше трёх. Копайте в сторону линейного программирования. Почитайте ещё вот это.
Берём габаритные объёмы ящиков. Берём полный объм машины и составляем линейное уравнение. Прога укажет, какой максимальный объем ящиков, мы сможем уместить в имеющийся объём машины.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 22.09.2012 в 00:18.
Smitt&Wesson вне форума Ответить с цитированием
Старый 15.09.2025, 20:35   #5
yevrowl
Новичок
Джуниор
 
Аватар для yevrowl
 
Регистрация: 15.09.2025
Сообщений: 2
По умолчанию

Код проверен:

Код:
PRINT "Введите размер основания контейнера (a):"
INPUT a
PRINT "Введите высоту контейнера (b):"
INPUT b
PRINT "Введите размер кубической коробки c:"
INPUT c
PRINT "Введите размер кубической коробки d:"
INPUT d

' Вычисляем число коробок каждого типа (целочисленное деление "\")
countC = (a \ c) * (a \ c) * (b \ c)   ' число кубов со стороной c
countD = (a \ d) * (a \ d) * (b \ d)   ' число кубов со стороной d

' Вычисляем использованный объём для каждого варианта
volC = countC * c * c * c   ' общий объём кубов размера c
volD = countD * d * d * d   ' общий объём кубов размера d

' Объём контейнера
containerVol = a * a * b

' Вычисляем процент использования объёма (целая часть)
percentC = (volC * 100) \ containerVol
percentD = (volD * 100) \ containerVol

' Выбираем вариант с наибольшим использованием объёма
IF percentC >= percentD THEN
    bestCount = countC
    bestSize = c
    bestPercent = percentC
ELSE
    bestCount = countD
    bestSize = d
    bestPercent = percentD
END IF

PRINT "Количество коробок типа 1 и 2, поместившихся в контейнер:"; "1 - "; countC; "2 - "; countD
PRINT "Процент использования объёма контейнера для 1 и 2 типа ящиков:"; "1 - "; percentC; "2 - "; percentD

Последний раз редактировалось yevrowl; 16.09.2025 в 14:53.
yevrowl вне форума Ответить с цитированием
Старый 16.09.2025, 11:56   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,764
По умолчанию

Поздравляю! Всего лишь 13,5 лет прошло. Кажется, это рекорд некропостинга в форуме.
А стьюденты уже и не кидают вопросы в форум. Зачем, если есть Чат ГоПоТа ?

Последний раз редактировалось digitalis; 16.09.2025 в 11:59.
digitalis вне форума Ответить с цитированием
Старый 16.09.2025, 13:24   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,938
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Зачем, если есть Чат ГоПоТа ?
С появлением ChatGPT успеваемость в вузах резко возросла
Arigato на форуме Ответить с цитированием
Старый 16.09.2025, 17:51   #8
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,764
По умолчанию

...и уровень дубовости выпускаемых неучей
digitalis вне форума Ответить с цитированием
Старый 16.09.2025, 18:42   #9
DeepFlake
Форумчанин
 
Регистрация: 16.05.2024
Сообщений: 228
По умолчанию

2 yevrowl: насколько я понял условия задачи, коробки в контейнере могут быть разными. А в вашей программе рассматриваются случаи когда только из коробок первого типа или только из коробок второго типа.

Эта задачка непростая. Конечно, надо искать перебором по количеству коробок первого и второго типа от 0 до k1 и k2, где k1 - максимальное количество коробок первого типа, которые влазят в контейнер, и k2 - максимальное количество коробок второго типа, которые влазят в контейнер.
То есть что-то вроде
Код:
for i=0 to k1
{
    for j=0 to k2
    {
        вычисление объёма ( i коробок первю типа и j коробок втор. типа в сумме);
        если объём < объём контейнера
        {
            если i короб 1-го и j коробок 2-го типа физически можно разместить в контейнере
            {
                если объём пары ( i ; j ) больше чем объём предыдущей пары с максим. объёмом, то установить эту пару как с максим. объёмом.
            }
        }
    }
}
Здесь самое сложное - вычислить можно ли ( i, j ) коробок физически поместить в контейнер. Я не знаю как вычислить, наверное перебором, но даже перебор нетривиально сделать, непонятно как.

А как эта задача будет выглядеть геометрически в 3D? Функция ОбъёмКоробок( i, j ) описывает плоскость (наклонную) в координатах i и j, а объём контейнера - тоже плоскость. То есть задача на нахождение пересечения плоскостей. Но проблема в том, что функция ОбъёмКоробок - не гладкая, и плоскость получается дискретной.
DeepFlake вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
бейсик dim890 Помощь студентам 0 08.05.2010 15:02
Бейсик UniqueANGEL Помощь студентам 11 05.05.2010 12:03
Ку Бейсик Мимо Проходила Помощь студентам 10 08.12.2009 23:04
V бейсик WWWTED Помощь студентам 3 28.11.2009 20:14
Бейсик olga_miner Помощь студентам 2 04.03.2009 13:35