# INTERPRETATOR IN DEMAGOG
# RUSSIAN ORTODOX EASTER DATE
# PRESS F2

# ДЕМОНСТРАЦИЯ ИНТЕРПРЕТАТОРА В ПРОГРАММЕ DEMAGOG
# РАСЧЕТ ДАТЫ ПРАВОСЛАВНОЙ ПАСХИ
# ДЛЯ ВЫПОЛНЕНИЯ НАЖМИТЕ F2

NUM god, delta, a, b, c, d, e, p
STR month

god = InputBox('Дата православной Пасхи','Введите год','2015')

IF god < 1918 | god > 2299  
    ShowMessage('Расчет ограничен периодом 1918..2299 гг.')
    EXIT
FI

# Сейчас отставание юлианского календаря от грегорианского - 13 дней
# После 29.02.2100 - 14 дней
# После 29.02.2200 - 15 дней

delta = 13
month = 'март'
IF god > 2099
    delta = 14
FI
IF god > 2199
    delta = 15
FI

# Алгоритм Гаусса
a = god % 19
b = god % 4
c = god % 7
d = (19*a+15) % 30
e = (2*b+4*c+6*d+6) % 7
p = 22+d+e+delta
IF p > 31
    p = p-31
    month = 'апрель'
FI
IF p > 30
    p = p-30
    month = 'май'
FI
# Ответ готов :)
put Православная Пасха
put god,' ',month,' ',p

# А это - данные для проверки:
# 2005 - 1 мая
# 2006 - 23 апреля
# 2007 - 8 апреля
# 2008 - 27 апреля
# 2009 - 19 апреля
# 2010 - 4 апреля
# 2011 - 24 апреля
# 2012 - 15 апреля
# 2013 - 5 мая
# 2014 - 20 апреля
# 2015 - 12 апреля
# 2016 - 1 мая
# 2017 - 16 апреля
# 2018 - 8 апреля
