|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Viktor Karev 2:5080/1003 11 Mar 2003 11:43:33 To : Sergei Frolov Subject : Re: Пасха -------------------------------------------------------------------------------- Приветствия! > Hет ли у кого формулы для вычисления даты начала пасхи? (конкретно - > православной) Вот, что писал Victor Petrov <Victor.Petrov@p113.f744.n5030.z2.fidonet.org> в RU.RELIGFORUM 25 Apr 2002: ================================ Здравствуй, Viktor! В письме от Viktor V. к All от Среда Апрель 24 2002 08:46 писалось: VV> Зная, что Пасха празднуется после весеннего равноденствия, после первого VV> полнолуния, в первое воскресение, я не мог увязать поправку в дату VV> празднования вносимую русским православным календарем. Весеннее равноденствие у православных наступает 3 апреля. :) А вообще все уже забили на это правило и считают полнолуние приближенно, по 19-летнему циклу (сейчас расхождение с астрономическим примерно на 4 суток). °°° Вставка файла pasha.txt °°° a = year % 4; b = year % 7; c = year % 19; d = ( 19 * c + 15 ) % 30; e = ( 2 a + 4 b - d + 34 ) % 7; f = 3 + (d + e + 21) / 31; g = ( d + e + 21 ) % 31; month = f; day = g + 1; В результате переменные month и day получат значения месяца и дня пасхи для интересующего нас года. Все операции деления в этом алгоритме - целочисленные, т.е. дающие в результате целую часть частного. Знак процента обозначает операцию нахождения остатка от деления. (Hекоторые комментарии. Переменная d - это сдвиг опорной даты от 21 марта, переменная е - календарная поправка, значение которой равно 0, если опорная дата приходится на субботу, 1 - на пятницу, 2 - на четверг, :, 6 - на воскресенье, т.е. уменьшенное на единицу число дней между опорной датой и следующим за ней воскресеньем). Следует иметь в виду, что данный алгоритм выдает дату по старому стилю (юлианскому календарю), т.е. ее нужно перевести в новый стиль. Для XX и XXI веков этот перевод состоит в прибавлении 13 дней к полученной дате. °°° Конец вставки файла pasha.txt °°° Victor =============================== Виктор. --- ifmail v.2.15dev5 * Origin: Fidolook Express 2.000 www.fidolook.da.ru (2:5080/1003@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/146464c04a5e2.html, оценка из 5, голосов 10
|