Написать алгоритм, по которому можно вычислить дату следующего дня - 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.
Объяснение кода листинга программы
- Введенные пользователем значения дня, месяца и года сохраняются в переменных d, m, g соответственно.
- Используя цикл repeat-until, программа проверяет корректность введенных значений: день должен быть от 1 до 30, месяц от 1 до 12, последние две цифры года от 00 до 99.
- Если день равен 30, то это означает начало нового месяца, поэтому происходит установка значения дня равным 1, а если месяц равен 12, то значение месяца устанавливается равным 1. Значение года увеличивается на 1 (или на 100, если год был кратен 4 и не кратен 100, или на 400, если год был кратен 400, чтобы соблюсти условия деления на 4 и не кратности 100).
- Если день не равен 30, то просто увеличивается значение дня на 1.
- Выводится дата в формате день.месяц.год.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д