Вопрос задан 19.06.2023 в 20:34. Предмет Информатика. Спрашивает Нохова Карина.

Напишите задачу на Pascal Иван Петрович взял отпуск продолжительностью n дней. Первый день

отпуска выпадает на день недели под номером d (1 — понедельник, 2 — вторник, ..., 7 — воскресенье). Иван Петрович любит ездить отдыхать на Кипр. Но вылеты на Кипр из его родного города есть только по понедельникам, а обратно — только по воскресеньям. Иван Петрович хочет понять, какое максимальное количество недель он сможет провести на Кипре в свой отпуск (день прилёта и день обратного вылета Иван Петрович считает днями, проведёнными на Кипре). Помогите ему вычислить это.Входные данныеВ первой строке входных данных записано целое число n (1 ≤ n ≤ 109) — продолжительность отпуска. Во второй строке записано целое число — d (1 ≤ d ≤ 7) — номер дня недели первого дня отпуска.Выходные данныеТребуется вывести одно целое число — количество недель, которое Иван Петрович проведёт на Кипре.Система оценкиРешения, работающие верно при n ≤ 1000, будут оцениваться в 60 баллов.ПримерыВводВыводПояснение1412Отпуск продолжается 14 дней и начинается в понедельник. Поэтому Иван Петрович улетит на Кипр в первый день и вернётся в 14-й день, продолжительность пребывания на Кипре составит две недели.1731Отпуск начинается в среду. Ближайший понедельник будет 6-м днём отпуска. Ивану Петровичу придётся вернуться в воскресенье, которое будет 12-м днём отпуска. Следующее воскресенье будет 19-м днём отпуска, а продолжительность отпуска только 17 дней. Поэтому на Кипре Иван Петрович проведёт всего лишь одну неделю.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Асатулла Диас.

var

 d,count,n:integer;

begin

 repeat

   readln(n);

 until (n>=1) and (n<=109);

 repeat

   readln(d);

 until (d>=1) and (d<=7);

 if d<>1 then

   n:=n-(8-d);

 count:=n div 7;

 writeln(count);

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Давайте напишем программу на Pascal, которая решает данную задачу:

```pascal program VacationOnCyprus;

var n, d, weeksOnCyprus: integer;

begin // Ввод данных write('Введите продолжительность отпуска (n): '); readln(n);

write('Введите номер дня недели первого дня отпуска (d): '); readln(d);

// Вычисление количества недель, которое Иван Петрович проведет на Кипре weeksOnCyprus := n div 7; // полные недели

// Проверка оставшихся дней отпуска после полных недель if n mod 7 > 0 then begin // Вычисление последней недели if (d + n - 1) mod 7 >= 1 then weeksOnCyprus := weeksOnCyprus + 1; end;

// Вывод результата writeln('Иван Петрович проведет на Кипре ', weeksOnCyprus, ' недель.'); end. ```

Объяснение:

1. Программа запрашивает у пользователя продолжительность отпуска (`n`) и номер дня недели первого дня отпуска (`d`). 2. Вычисляется количество полных недель (`weeksOnCyprus := n div 7`). 3. Проверяется, есть ли оставшиеся дни после полных недель. Если да, то проверяется, попадает ли последний день отпуска на неполный недельный цикл. 4. Если последний день отпуска попадает на неполный недельный цикл, то добавляется еще одна неделя. 5. Выводится результат.

Таким образом, программа решает задачу и определяет, сколько недель Иван Петрович проведет на Кипре.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос