Разложить по коробкам новогодние подарки - 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.
Объяснение кода листинга программы
- Создается переменная
a
и присваивается ей значение, полученное от пользователя. - Создается переменная
x
и присваивается ей значение, полученное от пользователя. - Создается переменная
y
и присваивается ей значение, полученное от пользователя. - Создается переменная
z
и присваивается ей значение, полученное от пользователя. - Выводится сообщение с вопросами о количестве конфет, яблок и груш, которые пользователь хочет положить в каждый подарок. Полученные значения сохраняются в соответствующих переменных.
- Переменная
k
инициализируется как результат деления количества конфет на количество конфет в каждом подарке. Если это невозможно (т.е. количество конфет меньше или равно количеству конфет в каждом подарке), то переменнаяk
устанавливается равной 0. - Переменная
f
инициализируется как результат деления количества яблок на количество яблок в каждом подарке. Если это невозможно (т.е. количество яблок меньше или равно количеству яблок в каждом подарке), то переменнаяf
устанавливается равной 0. - Запускается цикл повторений, который продолжается до тех пор, пока сумма количества яблок и груш меньше или равна 3. В каждой итерации цикла переменные
y
иz
сдвигаются так, чтобы количество яблок было на единицу меньше, а количество груш - на две больше, чем в начале цикла. - Если количество подарков, которое может быть сделано на основе ограничений на конфеты и фрукты, меньше или равно количеству конфет, то переменной
p
присваивается значениеk
. В противном случае переменнойp
присваивается значениеf
. - Выводится сообщение с количеством подарков, которое может быть сделано на основе ограничений на конфеты и фрукты.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д