Немчанинов Алексей 7Б класс Руководитель Шмидт С.Р.
Цель Узнать, как устроен вечный календарь и создать работающую модель вечного календаря.
Задачи Изучить историю возникновения вечного календаря Рассмотреть разные виды вечных календарей, и принцип по которому они сделаны Найти алгоритм построения вечного календаря Пользуясь этим алгоритмом, создать компьютерную модель вечного календаря
Основы Календарь (от лат. Calendarium – долговая книга) система счета больших промежутков времени, основанная на видимых движениях небесных тел. Циклическое движение таких астрономических объектов как Земля, Солнце и Луна имеет главное значение для построения и понимания календарей.
Из истории В году 365 с четвертью дней. А календарь должен содержать целое число. Если объявить год, как это сделали римляне до Юлия Цезаря, состоящим из 365 дней, то астрономический год с календарным будет различаться. За 4 года набежит день. В 46 году до н.э. при Юлии Цезаре астроном Созиген предложил календарь, который стал называться юлианским. Он вводил систему високосов: 3 года по 365 дней, а 4-й - по 366.
Из истории Это почти соответствовало астрономическому календарю. Но астрономический год составляет не 365 дней с четвертью, а немного меньше - 365,2422 дня. Этот хвостик за тысячелетия накрутил довольно много дней. Первыми это заметили церковники, увидев, что Пасха у них "поехала". За 400 лет набегало 3 дня. В 1582 году Папа Григорий XIII издал буллу о реформе календаря. Единственное отличие григорианского календаря от юлианского в том, что на 400 лет в нем не 100 високосных лет, а 97.
вечный календарь Вечный календарь может быть реализован самыми разнообразными способами, внешне абсолютно непохожими друг на друга. Но в принципе их действия лежит одно календари образуют цикл с периодичностью в 400 лет.
вечный календарь Придумано множество вечных календарей в виде таблиц, однако почти все они сводятся к одному: имеется 14 календарных сеток (7 возможных дней недели, с которых начинается год × 2 варианта високосный и не високосный год) и таблица, помогающая выбрать календарную сетку для нужного года либо определить сдвиг, помогающий правильно преобразовать одну сетку
вечный календарь Для того, чтобы узнать день недели конкретного дня, требуется: Найти в первой таблице цифру, соответствующую указанному году и месяцу;таблице Сложить эту цифру с номером дня; Найти во второй таблице получившееся число и посмотреть, какому дню недели оно соответствует.
Стандартный алгоритм Для удобства номер месяца преобразовывается таким образом, чтобы март был первым месяцем, а февраль двенадцатым и относился к прошлому году (например, май , январь ). Для определения сдвига используется следующая формула: a=(14-месяц) div 12 (a вспомогательная величина). Затем определяются год и месяц с учётом поправки: y=год-a; m=месяц+12·a-2.
Стандартный алгоритм После вспомогательных операций вычисляется сам день недели: Результат =(7000+(день+y+y div 4-y div 100+y div 400+(31*m) div 12)) mod 7
Реализация алгоритма в приложении MS EXCEL Необходимо 2 функции: DIV – целая часть от деления MOD - остаток от деления В EXCEL есть функции: ОСТАТ – возвращает остаток от деления ОТБР – отбрасывает остаток от деления
Алгоритм, записанный для Excel Вычисляем сдвиг: a=ОТБР((14-месяц)/12) У=год-a m=месяц+12·a-2 Вычисляем результат:результат РЕЗУЛЬТАТ=ОСТАТ(7000+(ЧИСЛО+У+ОТБР (У/4)- ОТБР(У/100)+ОТБР(У/400)+ОТБР(31*m/12) );7)