Составить программу на языке Паскаль: в школе Альтаир проводятся уроки каждый день, либо по 3, либо по 5 уроков. Миша

  • 42
Составить программу на языке Паскаль: в школе "Альтаир" проводятся уроки каждый день, либо по 3, либо по 5 уроков. Миша приехал на N уроков. Необходимо определить, сколько дней у него будет с 5 уроками, а сколько с 3 уроками, при условии, что общее количество дней должно быть минимальным.
Primula
37
Хорошо! Для решения задачи нам понадобится использовать арифметические операции и условные конструкции в языке Паскаль.

Для начала, давайте разберемся с логикой задачи. У нас есть два варианта: либо уроки идут по 3, либо по 5 в день. Нам нужно найти такое количество дней, чтобы общее количество уроков было равно N, а при этом минимальное количество дней имело 5 уроков.

Для решения этой задачи мы можем использовать цикл, который будет перебирать возможные варианты количества уроков в день. Начнем с предположения, что все дни состоят из 5 уроков, и будем постепенно уменьшать это число, пока не найдем оптимальный вариант.

Вот как будет выглядеть программа на языке Паскаль:


program Schedule;
var
N, daysWith5Lessons, daysWith3Lessons, possibleDaysWith5Lessons: integer;
begin
write("Введите количество уроков: ");
readln(N);

daysWith5Lessons := N div 5; // определяем количество дней с 5 уроками

possibleDaysWith5Lessons := daysWith5Lessons; // сохраняем это количество
while (N - daysWith5Lessons*5) mod 3 <> 0 do
begin
daysWith5Lessons := daysWith5Lessons - 1; // уменьшаем количество дней с 5 уроками
end;

daysWith3Lessons := (N - daysWith5Lessons*5) div 3; // остальные дни будут с 3 уроками

writeln("Количество дней с 5 уроками: ", daysWith5Lessons);
writeln("Количество дней с 3 уроками: ", daysWith3Lessons);
end.


Для начала, программа запрашивает у пользователя количество уроков в переменную N. Затем мы определяем количество дней с 5 уроками, используя деление с отбрасыванием остатка (оператор div в Паскале).

Затем мы сохраняем это количество в переменной possibleDaysWith5Lessons и начинаем цикл, который уменьшает количество дней с 5 уроками до тех пор, пока остаток от деления общего количества уроков на 3 не станет равным 0. Это означает, что мы нашли оптимальное количество дней с 5 уроками.

Количество дней с 3 уроками определяется как общее количество уроков минус количество дней с 5 уроками, умноженное на 5, деленное на 3.

Наконец, программа выводит найденные результаты на экран.

Надеюсь, эта программа поможет вам решить задачу!