Исключение из исключения - Блог CDTO

Исключение из исключения

Читать статью в социальных сетях

Исключение из исключения из правила

Самое первое домашнее задание по программированию, которые нам дали в СУНЦе, было следующим: по номеру года определить, является ли он високосным или нет. Задание было направлено на обучение работе в Pascal с конструкциями if then else end – «если то иначе всё» ©, а также оператором mod.

Казалось бы, что может быть проще: если номер года делится без остатка на 4, то он високосный, иначе – невисокосный.

Но на самом деле всё немного сложнее. Из-за того, что продолжительность тропического года равна 365 суток 5 часов 49 минут, 1 дополнительный день за 4 года – это перебор. Поэтому из вышеприведенного правила есть исключение: если номер года без остатка делится на 100, то этот год – невисокосный (даже несмотря на то, что он делится 4).

Но такая корректировка, в свою очередь, порождает недобор. Поэтому было введено исключение из исключения из правила: если номер года без остатка делится на 400, то этот год – високосный (даже несмотря на то, что он делится на 100). В последний раз таким исключением из исключения из правил был 2000 год. Следующим будет – 2400.

Еще один интересный факт: в високосном году 23 февраля и 8 марта приходятся на один и тот же день недели.

К чему я всё это веду?

В 2000 году и 23 февраля, и 8 марта пришлись на среду. А у нас в этот день на ВМК была военная кафедра. Получилось, что из-за такого стечения обстоятельств пропали целых 2 дня полноценного обучения (это чуть позже 23 февраля перестал быть праздником, а тогда он еще был праздничным днем).

Преподаватели на военной кафедре тщетно пытались высчитать вероятность наступления этого события: исключение из исключения из правила, которое происходит раз в 400 лет, и два праздника, выпадающие на день занятий на кафедре – это очень маловероятное событие. Но оно всё же произошло!

P.S. Всех девушек поздравляю с замечательным праздником – 8 марта!!! 💐

Исключение из исключения