Написать алгоритм, по которому можно вычислить дату следующего дня - Pascal ABC

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

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

Написать алгоритм, по которому можно вычислить дату следующего дня. Указание: известно, что дата состоит из дня, месяца и года, например, для даты 19.10.86 следующим днем будет 20.10.86, а для даты 31.12.86 дата 01.01.87. Учесть число дней в месяце для перехода от одного месяца к следующему. 30.

Решение задачи: «Написать алгоритм, по которому можно вычислить дату следующего дня»

textual
Листинг программы
var d,m,g:integer;
begin
repeat
write('Введите номер дня от 1 до 30 d=');
readln(d);
until d in [1..30];
repeat
write('Введите номер месяца от 1 до 12 m=');
readln(m);
until m in [1..12];
repeat
write('Введите последние 2 цифры года от 00 до 99 g=');
readln(g);
until g in [0..99];
if d=30 then
 begin
  d:=1;
  if m=12 then
   begin
    m:=1;
    g:=(g+1)mod 100;
   end
  else m:=m+1;
 end
else d:=d+1;
if d<10 then write('0',d,'.')else write(d,'.');
if m<10 then write('0',m,'.')else write(m,'.');
if g<10 then write('0',g)else write(g);
end.

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

  1. Введенные пользователем значения дня, месяца и года сохраняются в переменных d, m, g соответственно.
  2. Используя цикл repeat-until, программа проверяет корректность введенных значений: день должен быть от 1 до 30, месяц от 1 до 12, последние две цифры года от 00 до 99.
  3. Если день равен 30, то это означает начало нового месяца, поэтому происходит установка значения дня равным 1, а если месяц равен 12, то значение месяца устанавливается равным 1. Значение года увеличивается на 1 (или на 100, если год был кратен 4 и не кратен 100, или на 400, если год был кратен 400, чтобы соблюсти условия деления на 4 и не кратности 100).
  4. Если день не равен 30, то просто увеличивается значение дня на 1.
  5. Выводится дата в формате день.месяц.год.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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