Вместо эпиграфа
Тем, кто искал «какого числа пасха?», а попал на блог юниксоида:
- 4 апреля 2010
- 24 апреля 2011
- 15 апреля 2012
- 5 мая 2013
Итак
Linux’ом я пользуюсь уже давно, и период Великих Географических Открытий для меня уже прошёл. Сейчас, чтобы я не находил в нём, всё воспринимается мной как норма. Но сегодня он меня снова удивил, я вновь ощутил себя новичком, восхищающимся величием и продуманностью пингвина!
История началась с моего последнего (на данный момент) посещения бабушки. Зная, что я «занимаюсь компьютерами», она то и дело просит меня найти какую-нибудь информацию (например, тексты старых песен). В этот раз она обратилась ко мне с довольно сложным заданием: среди её знакомых есть мужчина, который не знает даты своего рождения (только год — 1934ый), но помнит, что мать ему говорила, что родился он через две недели после пасхи. Соответственно, поручение мне: узнать, когда он родился.
Прямо «жди меня» какая-то!
Немного погуглив, я нашёл следующее определение пасхи:
Первое воскресенье после первого полнолуния после дня весеннего равноденствия.
Соответственно, решение очевидно: узнать точный лунный период, досчитать до 1934ого, найти следующее после дня весеннего равноденствия полнолуние и «округлить в большую сторону» до воскресенья. Алгоритм найден, решать лень
Решил спросить на ЛОРе — есть ли программы (или всё же самому писать). Спасибо участнику different_thing за подсказку:
helios@sol:~$ ncal -o 1934 8 April 1934
Заодно посмотрим, точно ли воскресенье:
helios@sol:~$ ncal April 1934 April 1934 Mo 2 9 16 23 30 Tu 3 10 17 24 We 4 11 18 25 Th 5 12 19 26 Fr 6 13 20 27 Sa 7 14 21 28 Su 1 8 15 22 29
Учитывая, что день весеннего равноденствия колеблется между 20ым и 21ым марта, оснований не верить нет.
Что же, ещё раз убедился в правильности 2х утверждений про unix:
- Решение проблемы в unix: два дня гугления и одна набранная команда.
- Главное в программе — ключики… (Думаю, пользователи Windows тоже согласятся, хоть и поймут это по-другому)
Ответ: 22 апреля
Прошу прощения.
Мне кажется, что написание прикладного ПО по линукс, всегда чревато, поскольку под виндовс уже написано практически все. Изобретение велосипеда удовольствия не доставляет, а кроме того волей — неволей приходится сравнивать с аналогами, дабы в грязь лицом не упасть. Тема «Вечный календарь» давным давно обросла бородой, а посему, естественно — муза вдохновения обходит стороной.
Да! Я, конечно уловил «мудрость» линукс, однако для бабушек и не только у меня стоит под виндой программа «Вечный календарь», где можно узнать не только дни на которые выпадает пасха, но и великое множество иных народных мудростей, примет, праздников. Иногда я удивлял своих знакомых цитатами из сего кладезя. Боюсь, но сия «мудрость» более напоминает запасники музея, где в темноте, тиши пылятся экспонаты не нашедшие себе место в экспозиции.
Подобное сделали и в Гугл-органайзере. Однако, думается мне, больших масштабов.
А меня то поразило, что функция «пасха» есть в стандартной программе. Я ей частенько пользуюсь: у часов в tint2 — панельке, которой я пользуюсь, при нажатии не вываливается календарь, поэтому, когда мне надо посмотреть на какой день недели выпадают праздники или какое-то событие, я набираю, например, cal august 2010 и смотрю…
А тут обнаруживаю функцию, которой никогда не пользовался. Да и не вписывалось в моё мировоззрение, то, что утилита Linux может мне сказать день пасхи…