Вопрос задан 31.05.2026 в 08:25. Предмет Информатика. Спрашивает Кит Сергей.

Напишите программу на Паскале, которая вычисляет дату следующего дня. Введите цифрами сегодняшнюю дату (число, месяц, год). Например: 31 12 1998.

Перейти к ответам

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

Отвечает Заманова Асем.

Ниже приведена программа на Паскале, которая вводит сегодняшнюю дату в виде трёх чисел: день, месяц и год, а затем вычисляет дату следующего дня.

Программа учитывает:

  • разное количество дней в месяцах;

  • февраль;

  • високосные годы;

  • переход на следующий месяц;

  • переход на следующий год, например с 31 12 1998 на 1 1 1999.

pascal
program NextDay;

var
d, m, y: integer;
daysInMonth: integer;

begin
writeln('Введите сегодняшнюю дату: день месяц год');
readln(d, m, y);

case m of
1, 3, 5, 7, 8, 10, 12:
daysInMonth := 31;

4, 6, 9, 11:
daysInMonth := 30;

2:
begin
if ((y mod 4 = 0) and (y mod 100 <> 0)) or (y mod 400 = 0) then
daysInMonth := 29
else
daysInMonth := 28;
end;
end;

d := d + 1;

if d > daysInMonth then
begin
d := 1;
m := m + 1;
end;

if m > 12 then
begin
m := 1;
y := y + 1;
end;

writeln('Дата следующего дня: ', d, ' ', m, ' ', y);
end.

Например, если ввести:

31 12 1998

программа выведет:

Дата следующего дня: 1 1 1999

Если ввести:

28 2 2024

так как 2024 год високосный, программа выведет:

Дата следующего дня: 29 2 2024

А если ввести:

28 2 2023

программа выведет:

Дата следующего дня: 1 3 2023

Главная часть программы — определение количества дней в текущем месяце. Для февраля отдельно проверяется, является ли год високосным. Год считается високосным, если он делится на 400, или если он делится на 4, но не делится на 100.

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

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

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

Информатика 21.05.2026 10:15 7 Гафаров Александр
Задать вопрос