Разложить по коробкам новогодние подарки - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Даны целые неотрицательные а, X,Y,Z. Известно , что в каждый новогодний подарок необходимо положить а конфет , одно или два яблока, одну или две груши , причем количество фруктов в подарке должно равняться трем. Каждое максимальное количество подарков можно скомплектовать из Х конфет, Y яблок и Z груш. Помогииииите через ветвления

Решение задачи: «Разложить по коробкам новогодние подарки»

textual
Листинг программы
var a,x,y,z,k,f,p:integer;
begin
write('Сколько конфет x=');
readln(x);
write('Сколько яблок y=');
readln(y);
write('Сколько груш z=');
readln(z);
write('Сколько положить конфет в каждый подарок a=');
readln(a);
k:=x div a;  // Ограничение по конфетам
f:=0;   //Ограничение по фруктам
repeat
if y>z then
 begin
  y:=y-2;
  z:=z-1;
 end
else
 begin
  y:=y-1;
  z:=z-2;
 end;
f:=f+1;
until y+z<3;
if k<f then p:=k
else p:=f;
write('Количество подарков=',p)
end.

Объяснение кода листинга программы

  1. Создается переменная a и присваивается ей значение, полученное от пользователя.
  2. Создается переменная x и присваивается ей значение, полученное от пользователя.
  3. Создается переменная y и присваивается ей значение, полученное от пользователя.
  4. Создается переменная z и присваивается ей значение, полученное от пользователя.
  5. Выводится сообщение с вопросами о количестве конфет, яблок и груш, которые пользователь хочет положить в каждый подарок. Полученные значения сохраняются в соответствующих переменных.
  6. Переменная k инициализируется как результат деления количества конфет на количество конфет в каждом подарке. Если это невозможно (т.е. количество конфет меньше или равно количеству конфет в каждом подарке), то переменная k устанавливается равной 0.
  7. Переменная f инициализируется как результат деления количества яблок на количество яблок в каждом подарке. Если это невозможно (т.е. количество яблок меньше или равно количеству яблок в каждом подарке), то переменная f устанавливается равной 0.
  8. Запускается цикл повторений, который продолжается до тех пор, пока сумма количества яблок и груш меньше или равна 3. В каждой итерации цикла переменные y и z сдвигаются так, чтобы количество яблок было на единицу меньше, а количество груш - на две больше, чем в начале цикла.
  9. Если количество подарков, которое может быть сделано на основе ограничений на конфеты и фрукты, меньше или равно количеству конфет, то переменной p присваивается значение k. В противном случае переменной p присваивается значение f.
  10. Выводится сообщение с количеством подарков, которое может быть сделано на основе ограничений на конфеты и фрукты.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы