Супермен пошел учиться на курсы программистов. На зачете ему попалась задача: "Дата некоторого дня определяется тремя натуральными числами - G (Год), M (Месяц), D (День). По заданным данным определите дату следующего дня." Решите ее. (Используя PASCALabc)

13 Мая 2020 в 19:40
103 +1
0
Ответы
1

program NextDay;

var
G, M, D: integer;

begin
writeln('Введите год, месяц и день:');
readln(G, M, D);

if ((G mod 4 = 0) and (G mod 100 <> 0)) or (G mod 400 = 0) then // Проверка на високосный год
begin
case M of
1, 3, 5, 7, 8, 10, 12: // Месяцы с 31 днем
begin
if D = 31 then // Если последний день месяца
begin
D := 1;
if M = 12 then // Если последний месяц года
begin
M := 1;
G := G + 1;
end
else
M := M + 1;
end
else
D := D + 1;
end;
4, 6, 9, 11: // Месяцы с 30 днями
begin
if D = 30 then // Если последний день месяца
begin
D := 1;
M := M + 1;
end
else
D := D + 1;
end;
2: // Февраль
begin
if D = 29 then // Если последний день февраля в високосный год
begin
D := 1;
M := M + 1;
end
else
D := D + 1;
end;
end;
end
else // Невисокосный год
begin
case M of
1, 3, 5, 7, 8, 10, 12: // Месяцы с 31 днем
begin
if D = 31 then // Если последний день месяца
begin
D := 1;
if M = 12 then // Если последний месяц года
begin
M := 1;
G := G + 1;
end
else
M := M + 1;
end
else
D := D + 1;
end;
4, 6, 9, 11: // Месяцы с 30 днями
begin
if D = 30 then // Если последний день месяца
begin
D := 1;
M := M + 1;
end
else
D := D + 1;
end;
2: // Февраль
begin
if D = 28 then // Если последний день февраля
begin
D := 1;
M := M + 1;
end
else
D := D + 1;
end;
end;
end;

writeln('Следующий день: ', G, '.', M, '.', D);

end.

18 Апр в 12:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир