Логотип Автор24реферат
Задать вопрос
Курсовая работа на тему: Выбор оптимального алгоритма для определения дня недели по дате
59%
Уникальность
Аа
4583 символов
Категория
Программирование
Курсовая работа

Выбор оптимального алгоритма для определения дня недели по дате

Выбор оптимального алгоритма для определения дня недели по дате .doc

Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод Эмоджи на новый заказ в Автор24. Это бесплатно.

Раньше, когда под рукой отсутствовал календарь, для того чтобы определить, какой сегодня день недели, необходимо было использовать довольно громоздкие таблицы, в которых без инструкции сложно разобраться. Теперь же существует множество алгоритмов, благодаря которым достаточно просто узнать день недели по любой дате.
Наиболее известные из них:
Алгоритм определения дня недели при помощи суммы смещений:
Нужно взять смещение (день недели) первого дня года (у) и смещение месяца (m). Затем вычислить сумму y+m+d, где d – день месяца. После этого следует найти остаток от деления на 7. В результате получаем день недели.
При этом смещение для месяца берётся для календаря некоторого года и равно количеству серых квадратов в начале месяца .
Смещение для года можно вычислить через сумму смещения ближайшего меньшего високосного года и его разницы с искомым годом. На самом деле, это крайне непростая операция, так как не существует одной обобщённой формулы для всех лет.
Также следует отметить, что у программистов часто встречается проблема с потерянной единицей при реализации алгоритмов. Данный алгоритм не является исключением, так как для января и февраля високосного года обобщенная формула для нахождения дня недели по дате должна выглядеть следующим образом:
(y+m+d–1)%7, где % –это остаток от деления

Зарегистрируйся, чтобы продолжить изучение работы

. ( STYLEREF 1 \s 2. SEQ Формула \* ARABIC \s 1 1)
Недостатком данного способа является то, что он работает только для Григорианского календаря.
Алгоритм Целлера (Zeller):
Месяцы нумеруются от 3 (март) по 14 (февраль) (то есть март = 3, апрель = 4, май = 5, …, декабрь = 12, январь = 13, февраль = 14). Следовательно, год предполагается начать в марте, поэтому, например, январь 1995 года должен рассматриваться как 13-ый месяц 1994 года. Формула для Григорианского календаря:
w=(d+13m+15+y+ y4+ c4-2c), ( STYLEREF 1 \s 2. SEQ Формула \* ARABIC \s 1 2)
где
Y

это (год-1) за январь или февраль, и (год) за любой другой месяц;
y – это последние две цифры Y;
c – это первые две цифры Y;
d – это день месяца (от 1 до 31);
m – это «смещённый» месяц (март = 3, …, февраль = 14);
w – это день недели (0 = суббота, 1 = воскресенье, …, 6 = пятница).
Если же необходимо найти день недели даты Юлианского календаря, то следует использовать следующую формулу (обозначения аналогичны предыдущей формулы):
w=d+13m+15+y+ y4+ 5-c.
( STYLEREF 1 \s 2

50% курсовой работы недоступно для прочтения

Закажи написание курсовой работы по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!

Промокод действует 7 дней 🔥
Оставляя свои контактные данные и нажимая «Заказать работу», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.
Больше курсовых работ по программированию:

Объектно-ориентированное проетировани программного обеспечения информационной системы

38855 символов
Программирование
Курсовая работа
Уникальность

Разработка информационной системы для ведения автоматизированного учета налоговых платежей

23098 символов
Программирование
Курсовая работа
Уникальность

Проектирование информационной системы формирования контекстной интернет-рекламы

59112 символов
Программирование
Курсовая работа
Уникальность
Все Курсовые работы по программированию
Закажи курсовую работу
Оставляя свои контактные данные и нажимая «Найти работу», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.

Наш проект является банком работ по всем школьным и студенческим предметам. Если вы не хотите тратить время на написание работ по ненужным предметам или ищете шаблон для своей работы — он есть у нас.