Определить дату предыдущего дня и дату следующего дня - Pascal ABC
Формулировка задачи:
Условие 1:
Дата некоторого дня определяется двумя натуральными числами m(порядковый номер месяца) и n(число).По заданным m и n определить:
дату предыдущего дня и дату следующего дня.
Решение задачи: «Определить дату предыдущего дня и дату следующего дня»
textual
Листинг программы
var n,m: integer; //n - день; m - месяц; begin readln(n); readln(m); case n of 28: case m of 2: begin n:=1; m:=3; end; else n:=29; end; 30: case m of 4,6,9,11: begin n:=1; m:=m+1; end; else n:=31; end; 31: begin n:=1; case m of 12: m:=1; else m:=m+1; end; end; else n:=n+1; end; writeln(n,' ',m); readln; end.
Объяснение кода листинга программы
- В начале кода объявлены две переменные типа integer: n и m. Они будут использоваться для хранения дня и месяца соответственно.
- Затем происходит чтение значений n и m с помощью функции readln.
- Далее идет блок case, который проверяет значение переменной n. Если n равно 28, то выполняется блок case для переменной m. Если значение m равно 2 или 5, то переменным n и m присваиваются значения 1 и 3 соответственно. В противном случае, если n равно 29, то переменным n и m присваиваются значения 1 и 4 соответственно.
- Если значение n равно 30, то выполняется блок case для переменной m. Если значение m равно 4, 6, 9 или 11, то переменным n и m присваиваются значения 1 и (m+1) соответственно. В противном случае, если n равно 31, то переменным n и m присваиваются значения 1 и (m+1) соответственно.
- Если значение n равно 31, то выполняется еще один блок case для переменной m. Если значение m равно 12, то переменной m присваивается значение 1, а переменной n - значение 13. В противном случае, переменным n и m присваиваются значения 1 и (m+1) соответственно.
- Если значение n больше или равно 32, то переменной n присваивается значение n+1.
- Наконец, с помощью функции writeln выводится значение переменной n и переменной m.
- Конец программы.