Вечный календарь
Материал из Википедии — свободной энциклопедии
Ве́чный календа́рь — это матрица, позволяющая узнать, на какой день недели приходится любая дата в пределах длительного промежутка времени (как правило, нескольких десятков или сотен лет). Многие из вечных календарей фактически создают сетку календаря на выбранный месяц выбранного года.
Вечные календари могут также использоваться не только для определения дня недели, но и, например, церковных праздников без фиксированной даты.
Содержание |
[править] История
Известные сегодня табличные календари приобрели современную форму только после того, как была изобретена печать. Вечные же календари придуманы гораздо раньше — время их создания восходит ещё к дотатарскому времени — вероятно, один из первых подобных календарей был найден на стене Киевской Софии.
В 1902 году на Виленской выставке были представлены вечные календари, которые стали основой для многих конструкций.
Вечные календари в больших объёмах выпускались в СССР. Массовое производство и столь же массовая реализация карманных календарей была начата в 1946. Первые экземпляры из картона выпускались в Москве и Санкт-Петербурге. Однако первые устройства были настолько недолговечны, что не могли прослужить даже десятую часть своего «срока годности».
Второй раз активный выпуск календарей начался в 1960-х—1970-х годах, когда материал был сменён на алюминий. На этот раз производились календари дискового типа.
В 1970-е годы подобные календари стали массово делаться из картона. Однообразный дизайн и невысокое качество продукции способствовало отсутствию спроса на эти устройства у населения страны и у коллекционеров.
Тогда же на прилавках и в киосках cтали появлялись табличные варианты. Для экономии места и компактности многие из них не снабжались даже инструкцией.
После распада СССР вечные календари прекратили выпускаться и использоваться. На это повлияло и то, что почти все календари были рассчитаны на период до 2000 года, а также повсеместное распространение компьютеров[1].
[править] Устройство
Вечный календарь может быть реализован самыми разнообразными способами, внешне абсолютно непохожими друг на друга. Но в принципе их действия лежит одно — календари образуют цикл с периодичностью в 400 лет (допускается рассмотрение периодичности не в 400, а в 28 лет при условии, что вечный календарь не рассчитан на невисокосные годы, кончающиеся на 00).
[править] Вечный календарь-таблица
Придумано множество вечных календарей такого вида, однако почти все они сводятся к одному: имеется 14 календарных сеток (7 возможных дней недели, с которых начинается год × 2 варианта — високосный и невисокосный год) и таблица, помогающая выбрать календарную сетку для нужного года либо определить сдвиг, помогающий правильно преобразовать одну сетку.
Календари этого вида различаются по степени удобства и быстроте использования. Такие календари иногда публиковались в газетах и журналах для вырезания и использования читателями. Однако наиболее часто применялись два варианта.
[править] Вариант, получивший наибольшее распространение
[править] Алгоритм
Для того, чтобы узнать день недели конкретного дня, требуется:
- Найти в первой таблице цифру, соответствующую указанному году и месяцу;
- Сложить эту цифру с номером дня;
- Найти во второй таблице получившееся число и посмотреть, какому дню недели оно соответствует.
[править] Пример
Требуется определить, каким днём недели будет 22 февраля 2007 года.
- Цифра, соответствующая февралю (ф) 2007 в таблице 1, равна 3.
- 22+3=25.
- Числу 25 в таблице 2 соответствует четверг — это и есть искомый день недели.
[править] Таблица (с 1901 по 2096 год)
Примечание: серым цветом выделены високосные годы. Месяцы обозначены первыми буквами их названий.
Таблица 1 | Таблица 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
[править] Календарь для старого и нового стилей на 28 веков
В левой части таблицы отыскать строку, содержащую число столетий нужного года по старому или новому стилю, а в верхней части таблицы — столбец с двумя последними цифрами номера года. Запомнить букву на пересечении строки и столбца, это — вруцелето http://ru.wikipedia.org/w/index.php?title=%D0%92%D1%80%D1%83%D1%86%D0%B5%D0%BB%D0%B5%D1%82%D0%BE&redirect=no года юлианского календаря. |
Последние цифры года |
Определить, на какой день недели приходится 31 марта 2006 г. Слева в колонке нового стиля находим число «20», сверху — число «06». На пересечении строки и столбика стоит буква «S». Находим эту же букву в строке, в которой стоит обозначение «III». Внизу под ней расположен столбик с днями недели, соответствующий марту, числа которого слева. Итак, 31 марта 2006 г. приходится на пятницу. Определить, на какой день недели приходится 1 января 45 г. до н.э. Прежде всего находим число года астрономического счёта: «-44». Далее представляем его в виде «-100+56». На пересечении столбика «56» со строкой «-1» находим вруцелето «Е». Год 45 до н.э. был високосным. Поэтому в правой части таблицы «месяцы» находим «Iв» и напротив числа «1» в колонке, соответствующей вруцелету «Е» находим день — пятница. 1 января 1900 г. ст.ст. Год високосный, вруцелето «S». («00» подчёркнуто). Месяц — «Iв». Суббота. 1 января 1900 г. н.ст. Год простой, вруцелето «S». («00» подчёркнуто). Месяц — «Iп». Понедельник. |
|||||||||||||||||
00 | 01 | 02 | 03 | 04 | 05 | ||||||||||||||
06 | 07 | 08 | 09 | 10 | 11 | ||||||||||||||
12 | 13 | 14 | 15 | 16 | |||||||||||||||
17 | 18 | 19 | 20 | 21 | 22 | ||||||||||||||
23 | 24 | 25 | 26 | 27 | |||||||||||||||
28 | 29 | 30 | 31 | 32 | 33 | ||||||||||||||
34 | 35 | 36 | 37 | 38 | 39 | ||||||||||||||
40 | 41 | 42 | 43 | 44 | |||||||||||||||
45 | 46 | 47 | 48 | 49 | 50 | ||||||||||||||
51 | 52 | 53 | 54 | 55 | |||||||||||||||
56 | 57 | 58 | 59 | 60 | 61 | ||||||||||||||
62 | 63 | 64 | 65 | 66 | 67 | ||||||||||||||
68 | 69 | 70 | 71 | 72 | |||||||||||||||
73 | 74 | 75 | 76 | 77 | 78 | ||||||||||||||
79 | 80 | 81 | 82 | 83 | |||||||||||||||
84 | 85 | 86 | 87 | 88 | 89 | ||||||||||||||
90 | 91 | 92 | 93 | 94 | 95 | ||||||||||||||
96 | 97 | 98 | 99 | ||||||||||||||||
число столетий | Вруцелето | месяцы | |||||||||||||||||
ст.ст. | н.ст. | ||||||||||||||||||
-4 | 3 | 10 | 17 | — | — | А | В | Г | Д | Е | S | З | Яв | Апр. | Июль | ||||
-3 | 4 | 11 | 18 | 15 | 19 | З | А | В | Г | Д | Е | S | Яп | Окт. | |||||
-2 | 5 | 12 | 19 | 16 | 20 | S | З | А | В | Г | Д | Е | Май | ||||||
-1 | 6 | 13 | 20 | — | — | Е | S | З | А | В | Г | Д | Фв | Авг. | |||||
0 | 7 | 14 | 21 | 17 | 21 | Д | Е | S | З | А | В | Г | Фп | Март | Нояб. | ||||
1 | 8 | 15 | 22 | — | — | Г | Д | Е | S | З | А | В | Июнь | ||||||
2 | 9 | 16 | 23 | 18 | 22 | В | Г | Д | Е | S | З | А | Сент. | Дек. | |||||
Числа месяца | Дни недели |
31 — январь |
|||||||||||||||||
1 | 8 | 15 | 22 | 29 | пн | вт | ср | чт | пт | сб | вс | ||||||||
2 | 9 | 16 | 23 | 30 | вт | ср | чт | пт | сб | вс | пн | ||||||||
3 | 10 | 17 | 24 | 31 | ср | чт | пт | сб | вс | пн | вт | ||||||||
4 | 11 | 18 | 25 | чт | пт | сб | вс | пн | вт | ср | |||||||||
5 | 12 | 19 | 26 | пт | сб | вс | пн | вт | ср | чт | |||||||||
6 | 13 | 20 | 27 | сб | вс | пн | вт | ср | чт | пт | |||||||||
7 | 14 | 21 | 28 | вс | пн | вт | ср | чт | пт | сб |
Примечание: Оригинал из [1, стр. 432] — похож на «Табель-календарь вожатого на XX век, 1957 г.» [2, с. 108] и на «таблицу В.Богатырева, 1931 г.» [2, с. 127].
[править] Использование
Этот календарь занимал мало места и часто включался в записные книжки и публиковался в книгах.
[править] Дисковый вечный календарь
Дисковый вечный календарь представляет из себя конструкцию, в которую вставлен диск, на внешний радиус которого нанесены номера годов (при этом високосные годы выделяются особым шрифтом или цветом), а на внутренний — дни недели. При выборе месяца требуется повернуть диск так, чтобы номер текущего года и название месяца совпали. В результате дни недели расположатся таким образом, что будет получена сетка календаря на выбранный месяц.
Как правило, диск таких календарей делится на 28 частей, а сами календари рассчитаны на 23—28 лет, однако возможны и другие модификации.
Иногда на диск наносятся не дни недели, а сами числа месяца, что позволяет получить календарную сетку в более привычной форме — неделя всегда начинается с понедельника или воскресенья, в зависимости от страны, где используется календарь. Но такие календари производились редко, в основном из-за сложности нанесения цифр месяца по спирали.
На календаре остаётся много свободного пространства, которое очень часто заполняется различными изображениями или информацией (инструкцией по применению, списками праздников и т.п.)
[править] В программировании
Существуют разнообразные методы вычисления дня недели. Некоторые из них основываются на заранее просчитанных таблицах сдвигов, а некоторые вычисляют все необходимые значения «с нуля» при каждом запуске. Иногда алгоритмы представляют собой автоматизированные версии табличных календарей.
Как правило, каждый метод имеет две модификации — для юлианского и для григорианского календаря.
[править] Стандартный алгоритм
Для удобства номер месяца преобразовывается таким образом, чтобы март был первым месяцем, а февраль — двенадцатым и относился к прошлому году (например, май 1998 → 03 1998, январь 1983 → 11 1982). Для определения сдвига используется следующая формула: a=(14-месяц) div 12
(a — вспомогательная величина). Затем определяются год и месяц с учётом поправки: y=год-a
; m=месяц+12·a-2
.
После вспомогательных операций вычисляется сам день недели:
result=(7000+(день+y+y div 4-y div 100+y div 400+(31*m) div 12)) mod 7
Для юлианского календаря формула выглядит так:
result=(6998+(день+y+y div 4+(31*m) div 12)) mod 7
Результат — число от 0 до 6, где 1 — понедельник, 2 — вторник, 3 — среда, 4 — четверг, 5 — пятница, 6 — суббота, 0 — воскресенье.
[править] Вечный календарь - набор таблиц
Всего достаточно 14 таблиц:
[править] Применение
До начала XX века календари не применялись в целях планирования времени. Основное значение таких приспособлений было религиозным — они использовались для вычисления праздников и знаменательных дат.
Во времена СССР вечные календари можно было найти почти во всех учреждениях и во многих квартирах — календарь не занимал много места и мог использоваться несколько десятков лет. Однако лишь немногие календари прослужили весь свой срок.
Сейчас многие из календарей используются детьми в качестве игрушек. Иногда вечные календари до сих пор используют для получения дней недели (хотя экземпляры, сохраняющие работоспособность после 2000 года, очень редки). Иногда они являются предметом коллекционирования.
Несмотря на то, что с появлением компьютеров необходимость в вечных календарях отпала, подобные устройство до сих пор встречаются в механических наручных часах[2].
[править] Примечания
[править] Ссылки
Эта статья входит в число хороших статей русского раздела Википедии. |