Определить дату следующего дня - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Определить дату следующего дня

Решение задачи: «Определить дату следующего дня»

textual
Листинг программы
Program nextday;
Var d,m,y,d1,m1,y1,v,h:integer;
Begin
Writeln('Эта программа вводит дату,следующую за введённой.');
Writeln('Введите дату в формате DD MM YYYY');
Readln(d,m,y);
v:=y mod 4;
If (m=4) or (m=6) or (m=9) or (m=11) then h:=0
Else h:=1;
If (y<0) then write('Ошибка ввода даты. Повторите ввод.')
Else if (m<0) or (m>12) then write('Ошибка ввода даты. Повторите ввод.')
Else if (d<0) or (d>31) then write('Ошибка ввода даты. Повторите ввод.')
Else if (h=0) and (d>30) then write('Ошибка ввода даты. Повторите ввод.')
Else if (m=2) and (v=0) and (d>29) then write('Ошибка ввода даты. Повторите ввод.')
Else if (m=2) and (v<>0) and (d>28) then write('Ошибка ввода даты. Повторите ввод.')
Else begin
If (d=31) and (m=12) then begin
  d1:=1; m1:=1; y1:=y+1; end
Else if (d=31) then begin
  d1:=1; m1:=m+1; y1:=y; end
Else if (d=30) and (h=0) then begin
  d1:=1; m1:=m+1; y1:=y; end
Else if (d=29) and (m=2) then begin
  d1:=1; m1:=3; y1:=y; end
Else if (d=28) and (m=2) and (v<>0) then begin
  d1:=1; m1:=3; y1:=y; end
Else begin
  d1:=d+1; m1:=m; y1:=y; end;
Write('За введённой датой ',d,'.',m,'.',y,' следует дата ',d1,'.',m1,'.',y1);
end;
End.

Объяснение кода листинга программы

  1. В программе объявлены переменные d, m, y, d1, m1, y1, v и h типа integer.
  2. Программа выводит сообщение «Эта программа вводит дату, следующую за введённой».
  3. С помощью функции Readln считываются значения переменных d, m, y с консоли.
  4. Переменная v инициализируется остатком от деления переменной y на 4.
  5. Если месяц введенной даты равен 4, 6, 9 или 11, то значение переменной h устанавливается в 0. В противном случае, значение переменной h устанавливается в 1.
  6. Проверяется, что значения переменных d, m и y неотрицательны и не превышают своих максимальных значений.
  7. Если все проверки пройдены успешно, то выводится сообщение «За введённой датой ... следует дата ...» с помощью функции Write.
  8. В конце программы выводится значение переменной h.

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы