Информация о днях недели


Почему дни недели назвали именно так?

У нас принято, что неделя начинается с понедельника, но в некоторых странах начало недели приходится на воскресенье.

Так же есть некоторые нестыковки в названиях - например, почему среда (т.е. "средний день недели") на самом деле третий, а не четвертый?

Чтобы ответить на эти и другие вопросы, касающиеся дней недели, нужно начать с вопроса, почему в неделе 7 дней, и почему она называется неделей.

Почему в неделе 7 дней

Для современного человека семидневная неделя является привычным делом. Но откуда взялись эти семь дней в неделе?

Согласно историкам, в истории человечества неделя не всегда имела семь дней. Были варианты 3-х дневной, 5-дневной, 8-дневной ("восьмидневка" в Древнем Риме) недели, а так же древнего 9-дневного цикла у кельтов и ориентации на 14 ночей, которая присутствовала у древних германцев.

Будет интересно отметить, что древнеегипетский календарь Тота основывался на 10-дневном цикле. А вот семидневка была популярна в Древнем Вавилоне (около 2 тыс. лет до н.э.).

В Древнем Вавилоне семидневный цикл был связан с фазами Луны. Ее видели на небе примерно 28 суток: 7 дней Луна увеличивается до первой четверти; столько же ей нужно до полнолуния.

Так же 7-дневный цикл был использован у древних иудеев. Записки иудейского историка Иосифа Флавия, датированные 1 веком н.э., включают в себя следующие слова, связанные с семидневкой: "Нет ни одного города, греческого или же варварского, и ни одного народа, на который не распространился бы наш обычай воздерживаться от работы на седьмой день".

Иудеи и христиане приняли 7-дневный цикл, т.к. в Ветхом Завете указывался 7-дневный недельный цикл, установленный Богом (процесс сотворения мира за 7 дней):

первый день - создание света

второй день - создание тверди и воды

третий день - создание суши и растений

четвёртый день - создание небесных светил

пятый день - создание птиц и рыб

шестой день - создание пресмыкающихся, животных и человека.

седьмой день - посвящен отдыху.

С астрономической точки зрения, мотивация 7-дневки довольно простая. Все календарные расчеты древних народов основывались на лунных фазах.

Их наблюдение являлось самым удобным и простым методом для исчисления и характеристики временных периодов.

Стоит отметить, что в древнеримском календаре, названия всех 7 дней недели связаны с названиями светил, которых можно увидеть невооруженным глазом, а именно: Солнца, Луны, Марса, Меркурия, Юпитера, Венеры, Сатурна.

В современном календаре можно найти эти названия благодаря Риму, который распространил их по всей Западной Европе.

И все же календарь всегда был использован в качестве идеологического оружия. Несмотря на космические ритмы, китайские и японские императоры, например, вводили собственные календари, чтобы лишний раз утвердить свою власть.

Несколько раз в Европе пытались изменить 7-дневный цикл, но нарушения последовательности дней не случилось.

Почему неделя называется неделей

Совершенно не важно (с теоретической точки зрения), с какого дня считать неделю, так как это цикл. Нужно лишь разделить дни на рабочие и выходные.

Слово "неделя" является для нас привычным, и мы даже не пытаемся задуматься, откуда появилось это слово.

До принятия христианства, было принято называть неделю выходным днем, и этот день был первым в неделе. Но потом "выходной" сделали днем, который завершает недельный цикл.

Слово неделя пришло из древности, где было выражение "не дълати", что означало "ничего не делать", проще говоря "выходной" или как сейчас мы называем "воскресенье".
Так как отдыхать приходилось после работы, а не до нее, то воскресенье стало завершающим днем недели.

Сегодня, согласно регламентированию Международной организацией стандартизации, неделя начинается именно с понедельника.

Стоит отметить, что до того, как начали использовать термин "неделя", эти самые семь дней называли "седмицей" (в болгарском языке неделя и сейчас называется "седмицей"). Последний день седмицы считался периодом, когда никто ничего не делает, а так как неделя это период от воскресенья до воскресенья (от "неделания" до "неделания"), в обиход вошло именно слово "неделя".

Почему так назвали дни недели

Почему понедельник так называется

По одной из версий, в славянских языках понедельник означает день "после недели", т.к. "неделя", как уже было ранее сказано, это старинное слово, обозначающее нынешнее воскресенье.

В Европе понедельник считался лунным днем, т.е. днем, покровительницей которой являлась Луна.

На английском - Monday (Moon day=лунный день)

На латинском - Dies Lunae

На французском - Lundi

На испанском - el Lunes

На итальянском - Lunedi

Почему вторник так называется

В славянских языках вторник означает "второй" день после воскресенья.

На латинском - Dies Martis

На французском - Mardi

На испанском - el Martes

На итальянском - Martedi

Можно догадаться, что в некоторых европейских языках, название вторника произошло от бога Марса.

А вот в европейских языках из германской группы, акцент был поставлен на древнегреческом боге Тиу (Tiu, Ziu), являющемся аналогом Марса (финский - Tiistai, английский - Tuesday, немецкий - Dienstag).

Почему среда так называется

У славян "среда" или "середа" обозначает середину недели, так же как и в немецком языке Mittwoch, и в финском Keskeviikko. Ранее считалось, что неделя начинается с воскресенья, поэтому среда была ее серединой.

На латинском - Dies Mercuri

На французском - le Mercredi

На испанском - el Miercoles

На итальянском - Mеrcoledi

В названии можно углядеть имя бога-планеты Меркурий.

Если углубится в другие языки, то можно обнаружить, что английское слово Wednesday произошло от бога Woden (Воден, Вотан). Он же "спрятан" в шведском Onstag, голландском Woenstag и датском Onsdag. Этот бог представлялся высоким, худым стариком, одетым в черный плащ. Он прославился созданием рунического алфавита - именно это связывает его с Меркурием - богом-покровителем письменной и устной речи.

Почему четверг так называется

В славянских языках название этого дня, вероятнее всего просто означает число, т.е. четвертый день. Это слово произошло от общеславянского слова "четвьртъкъ". Вероятнее всего со временем "т" выпал, а звук "к" стал более звонким, так как он следует за сонорным звуком "р".

На латинском - Dies Jovis
На французск

ribalych.ru

Какое сегодня число и день недели? Ответ здесь!

Правое меню

Сегодняшнее число и день недели показывается в нескольких местах.

Если нужно просто увидеть текущую дату и время, то можно посмотреть на часах, экране смартфона или в нижнем правом углу экрана компьютера.

Но если вы хотите получить более подробную информацию о сегодняшней дате для вашего города, то мы рады вам помочь.
Прокрутить к сегодняшней дате, календарю Апреля или описанию сегодняшнего дня.

Сегодня Суббота, 25 Апреля 2020 года

Календарь по дням на сегодняшний месяц.

Апрель 2020

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
             

Подробная информация о сегодняшнем дне

calendar.yoip.ru

Учим дни недели с ребенком | Дни недели для детей

Думаю, никто не будет спорить, что умение разбираться в днях недели очень полезно для ребенка. Когда малыш начинает посещать детский сад, кружки, секции, сталкиваться с работой различных муниципальных учреждений, у него появляется множество вопросов: почему сегодня в детский сад идти не нужно? почему в бассейн только завтра? Все эти учреждения работают по каким-то законам, о которых ребенок, конечно, тоже хочет быть в курсе. Если вы научите малыша определять дни недели, то он сможет примерно представлять, что его ждет в тот или иной день. А это уже первый шаг на пути к планированию собственного времени.

Не стоит приставать с распорядком недели к ребенку младше трех лет, для него это понятие еще слишком абстрактное. Его нельзя пощупать и хорошенько рассмотреть. Да и чувство времени еще не сформировано достаточно хорошо. Самое оптимальное время для знакомства с днями недели – это период, когда ребенок начинает на постоянной основе ходить в различные кружки, секции, детский сад. Здесь уже вторники и среды будут не пустым звуком, а днями, связанными с конкретными событиями.

Из этой статьи вы узнаете, как выучить дни недели с детьми так, чтобы процесс прошел легко и интересно.

1. Первый календарь

Как известно, дети усваивают любую информацию лучше всего, когда она подается в игре. Поэтому не торопитесь сразу предъявлять малышу годовой календарь с несчетным количеством цифр, а лучше подготовьте доступное и наглядное игровое пособие – что-то вроде недельного календаря, на котором ребенку будет интересно в ежедневном режиме отслеживать дни недели. Пока что забудьте про числа и месяцы, обращайте внимание только на дни недели! Желательно сделать календарь так, чтобы каждый день ребенок мог что-нибудь откреплять / прикреплять / наклеивать / закрашивать и т.д. Таким образом, будет задействован  не только зрительный канал восприятия, но и чувственный.

У нас с Таисией календарь представляет собой паровоз, где каждый вагон – это кармашек. Висит паровозик на самом видном и используемом месте – холодильнике . С утра Тася пересаживает Машеньку в тот вагончик, который соответствует наступившему дню недели, и заодно проверяет, что запланировано на этот день. В этом ей помогают картинки-напоминалки, закрепленные над вагончиками. Картинки могут напоминать как о регулярных секциях, так и о других интересных грядущих событиях (например, поход в цирк, день рождения бабушки). Вот пример наших напоминалок – танцы, бассейн и музыкальная школа.

Паровоз – это лишь один из множества вариантов оформления первого календаря. Календарь также можно сделать в виде лестницы со ступеньками, цветика-семицветика, у которого лепестки отстегиваются и пристегиваются на липучки, или просто в виде круга с семью секторами и вращающейся стрелкой, и т.д.

После того, как вы нашли на календаре наступивший день недели, полезно обсудить с ребенком, будний это день или выходной (если родители работают по пятидневке и ребенок посещает детский сад, эти понятия, как правило, запоминаются довольно легко). Кроме того, можно вспомнить один из стишков про дни недели (см. ниже).

Будьте готовы к тому, что интерес ребенка к календарю не будет вечен, скорее всего, через 3-4 недели энтузиазма у малыша поубавится, и он будет все чаще забывать подходить к календарю. В этом случае лучше просто отложить календарь на какое-то время и вернуться к нему позже. Либо можно попробовать отслеживать дни другим способом. Например, нам очень понравился пазл «Я учу дни недели» фирмы «Оксва».

Собирать такой, пазл, конечно, можно и за один присест, но, на мой взгляд, гораздо интереснее и познавательнее, каждый день дополнять пазл новыми деталями (например, во вторник даем ребенку цифру «2», слово «вторник» и соответствующую деталь картинки). Так, по мере приближения недели к концу картинка будет становиться все больше. Вид недостроенной картинки прямо-таки интригует Таисию, она усердно старается вспомнить, какой же там день идет следующим номером, лишь бы только поскорее получить еще один кусочек пазла

Детям постарше также можно предложить закрашивать каждый день на обычном календаре или переставлять день на календаре с передвижным окошечком. Даже если ребенок еще плохо знает двузначные цифры, это будет хорошей подготовкой к знакомству с ними.

Ребенку лет от 4-5 также может понравиться что-то вроде календаря природы (Лабиринт, Ozon, My-shop). Он дает возможность отмечать не только день недели, но и времена года, месяц, число, погоду.

2. Стихи про дни недели для детей

В стихотворной форме, как известно, все легче и быстрее запоминается, поэтому и сейчас можно прибегнуть к помощи веселых стихов про дни недели. Приведу несколько хороших стихотворений. Нам нравится их читать, поочередно указывая на каждый день недели в календаре (например, на вагончики в паровозе).

В понедельник мы стирали,
Пол во вторник подметали.
В среду мы пекли калач.
Весь четверг играли в мяч.
В пятницу мы чашки мыли,
А в субботу торт купили.
И, конечно, в воскресенье
Звали всех на день рожденья.
Пели, прыгали, плясали,
Дни недели посчитали.

***

Вот неделька, в ней семь дней.
Поскорей знакомься с ней.
Первый день по всем неделькам
Назовется понедельник.
Вторник- это день второй,
Он стоит перед средой.
Серединочка среда
Третьим днем всегда была.
А четверг, четвертый день,
Шапку носит набекрень.
Пятый – пятница-сестрица,
Очень модная девица.
А в субботу, день шестой,
Отдыхаем всей гурьбой.
И последний, — воскресенье,
Назначаем днем веселья.

***

Подскажите-ка нам, звери,
Первый-понедельник –
Зайка-рукодельник!
За ним приходит вторник –
Соловей-задорник.
За вторником – среда,
Лисичкина еда.
За средой четверг –
Волк глазами сверк.
За четвергом к нам пятница
Колобком прикатится.
За пятницей – суббота,
Баня у енота.
За субботой – воскресенье,
Целый день у нас веселье.

***

Муха – чистюха
Жила-была муха-чистюха.
Все время купалась муха.
Купалась она в воскресенье
В отличном клубничном варенье.
В понедельник — в вишневой наливке,
Во вторник — в томатной подливке,
В среду — в лимонном желе,
В четверг — в киселе и смоле.
В пятницу — в простокваше,
в компоте и в манной каше…
В субботу, помывшись в чернилах,
Сказала: — Я больше не в силах!
Ужжжасно, ужжжасно устала,
Но, кажется, чище не стала.

***

Бежит, спешит неделя
Мелькают быстро дни
Так чем же, в самом деле,
Наполнены они?
— Да разными делами!
Ответил мне сынок. –
Ходил я в понедельник
С друзьями на каток
Во вторник с братом Ване
В лошадки я играл,
А в среду взял я сани
И с гор его катал.
В четверг вдвоем с братишкой
Рассматривали книжки.
А в пятницу сначала
Немного поскучали,
А после к дню рождения
Писали приглашения.
В субботу в хоре пели,
Старались, кто как мог.
А в воскресенье ели
С клубникою пирог.

3. Игры

Ну и чтобы все, что вы выучили, не забывалось, полезно иногда играть вот в такие игры:

  • Взрослый называет дни недели в случайном порядке. Если ребенок слышит название буднего дня, то он делает вид, что занят какой-то деятельностью – рисует, строит из кубиков, читает книгу и т.д... Если же произносится название выходного дня, то ребенок делает вид, что отдыхает – спит, танцует, хлопает в ладоши – на ваш выбор.
  • Взрослый перечисляет разные слова, в том числе и названия дней недели. Когда ребенок услышит среди ряда слов день недели, он должен хлопнуть в ладоши. Все остальные слова нужно оставлять без внимания.
  • Во время игры в мяч с каждым броском называйте дни недели, в том порядке, как они стоят в календаре. Игра поможет запомнить последовательность дней.
  • Детям постарше можно время от времени задавать такие задачки: Какой день недели спрятался между вторником и четвергом? Какой день идет после пятницы? Перед средой? Какой день недели первый? А последний?

4. Мультфильмы про дни недели для детей

Среди мультфильмов, рассказывающих ребенку про дни недели, мне не удалось найти такие, которые действительно можно было бы от души порекомендовать. В основном попадаются мультики с весьма примитивными сюжетами и незапоминающимися героями. Но если уж выбирать из того, что есть, то самыми достойными мне показались мультики про паровозик Чух-чух «Учим дни недели с ребенком». Если вам попалось что-то поинтереснее, буду рада, если вы поделитесь в комментариях своими находками.

Напоследок как обычно упомяну одну полезную книжечку по теме, к моему удивлению, она оказалась очень хорошим подспорьем.

Сергей Гордиенко «Дни недели» (Лабиринт, Ozon, My-shop)

В стихотворной форме здесь рассказывается история зверушек, построивших дом всего-то за неделю. В понедельник был только проект, а в воскресенье – уже новоселье. По ходу стихотворения ребенок сможет отследить, как продвигалось строительство по мере приближения недели к концу. Помимо стиха в книге есть еще и интересные задания.

Настройтесь на то, что процесс осознанного запоминания дней недели не будет быстрым. Даже если ребенок быстро «зазубрит» названия дней, ему понадобится некоторое время, чтобы он еще и увязал те или иные жизненные события с недельным распорядком. Просто старайтесь регулярно поглядывать на календарь, и тогда ребенок привыкнет отслеживать дни недели без особого труда.

Искренне ваша, Яна Разначенко


ПУТЕШЕСТВИЕ НА СЕВЕРНЫЙ ПОЛЮС ИЛИ ЗАНЯТИЕ НА ТЕМУ АРКТИКА



МАТЕМАТИЧЕСКИЕ ИГРЫ ДЛЯ МАЛЫШЕЙ 2-4 ЛЕТ



НАСТОЛЬНАЯ ИГРА СВОИМИ РУКАМИ | РАСПЕЧАТАТЬ


jili-blog.ru

Отображение дат как дней недели

Предположим, что вы хотите вывести в ячейке день недели, например "Понедельник", а не саму дату, такую как "3 октября 2005 г.". Это можно сделать несколькими способами.

Примечание: На рисунке ниже показана эта статья в Excel 2016. Если вы используете другую версию, то в ней может быть немного другой интерфейс, но если не указано иное, функции будут такими же.

Форматирование ячеек для отображения дня недели

  1. Выделите ячейки, содержащие даты, которые вы хотите вывести в виде дней недели.

  2. На вкладке Главная в списке числовой формат выберите пункт другие числовые форматы, а затем откройте вкладку число .

  3. В поле Числовые форматы выберите пункт (все форматы) и в поле Тип введите значение дддд, чтобы отображались полные названия дней недели ("понедельник", "вторник" и т. д.), либо ддд, чтобы отображались сокращенные названия ("Пн", "Вт", "Ср" и т. д.).

Преобразование дат в дни недели в текстовом формате

Для выполнения этой задачи используйте функцию ТЕКСТ.

Пример

Скопируйте указанные ниже данные на пустой лист.

A

Дата

19-Фев-2007

3-Янв-2008

Формула

Описание (результат)

=ТЕКСТ(A2; "дддд")

Вычисляет день недели для даты и возвращает полное название дня недели (понедельник).

=ТЕКСТ(A3;"ддд ")

Вычисление дня недели для указанной даты и возврат сокращенного названия дня недели (четверг).

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Примечание:  Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

См. также

TEXT

support.office.com

»Вычисление дня недели по дате

Одно из самых простых и действенных упражнений для тренировки памяти в любом возрасте – это устный счет. Можно придумать много различных вариантов тренировки устного счета, но здесь очень важным моментом выступает интерес к данным упражнениям и результату вычислений.

Предлагаем для тренировки упражнение по вычислению дня недели по конкретной дате.

С одной стороны, это может пригодиться в конкретной ситуации, чтобы быстро определить в какой день недели родились Вы или Ваши знакомые, или в какой день недели был Ваш предыдущий День рождения или будет следующий День рождения. А может и немного удивить вашего собеседника, сообщив ему, что он родился в какой-то конкретный день недели.

С другой стороны, это не простое упражнение только на сложение или вычитание. Здесь нужно будет в уме, и делить, и складывать, и подставлять определенные числа вместо значений месяца. Переходим к алгоритму такого вычисления.

ВЫЧИСЛЕНИЕ ДНЯ НЕДЕЛИ ПО ДАТЕ

Рассмотрим сначала четыре основных параметра для расчетов.

Возьмем дату — 20.11.1957 года

1. Индекс года:

Годовой индекс рассчитывается таким образом, что две последние цифры года делятся на 12. Например, из года 1957 берется число 57. Это число де­лится на 12, получается 4 и 9 в остатке.

Остаток делится на 4. В нашем при­мере получается остаток 9, который при делении на 4 дает 2 и 1 в остатке, однако здесь остаток не учитывается.

Три полученных числа складываются. Итак, 4 плюс 9 плюс 2, получится 15.

 

2. Индекс месяца:

Каждому месяцу присваивается свой индекс, который просто нужно запомнить.

Месяц  | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |

———————————————————————————-

Индекс | 6   | 2   | 2   | 5    | 0    | 3    | 5   | 1   | 4   | 6   | 2   | 4   |

 

3. Индекс века:

Для годов, начинающихся с «одна тысяча девятьсот…» прибавляется + 1

Для годов, начинающихся с «две тысячи…» ничего не прибавляется

 

4. Индекс високосного года:

Еще есть дополнительное правило для високосных годов, которые можно уз­нать по тому, что две последние цифры года без остатка делятся на 4.

Если исход­ная дата относится к январю или февралю високосного года, тогда из итогового числа необходимо отнять – 1

 

Рассмотрим несколько конкретных примеров.

1. Вычислим день недели для даты 20.11.1957 года

Сложим все индексы:

Индекс года — 15 (4+9+2)

Индекс месяца – 2

Просто дата – 20

Индекс века — 1

Итак, 15 плюс 2 плюс 20 плюс 1, получится 38.

Результат делится на 7, в нашем случае 38 делить на 7 равно 5 и 3 в ос­татке.

Неделя начинается с понедельника, это число 1, а число 3 соответствует среде.

Итого: 20.11.1957 года – это среда.

 

2. Вычислим день недели для даты 10.02.1928 года

Сложим все индексы:

Индекс года – 7 (2+4+1)

Индекс месяца – 2

Просто дата – 10

Индекс високосного года – (-1)

Индекс века — 1

Итак, 7 плюс 2 плюс 10 плюс 1 минус 1, получится 19.

Результат делится на 7, в нашем случае 19 делить на 7 равно 2 и 5 в ос­татке.

Неделя начинается с понедельника, это число 1, а число 5 соответствует пятнице.

Итого: 10.02.1928 года – это пятница.

 

3. Вычислим день недели для даты 15.06.2012 года

Сложим все индексы:

Индекс года — 1

Индекс месяца – 3

Просто дата – 15

Индекс века — 0

Итак, 15 плюс 3 плюс 1, получится 19.

Результат делится на 7, в нашем случае 19 делить на 7 равно 2 и 5 в ос­татке.

Неделя начинается с понедельника, это число 1, а число 5 соответствует пятнице.

Итого: 15.06.2012 года – это пятница.

 

Автор: Виктор Кириченко
Сайт: Журнал Слагаемые успеха в online и offline

rusoul.ru

Вычисление дня недели в уме / Habr

Существует множество способов прокачать мозг. Задачи «n-back» или мобильные приложения для тренировки навыка быстрого счета в уме. Но эти задачи оторваны от текущей реальности, а хотелось бы прокачать мозг практичным навыком.

Зачем? Ведь можно быстро посчитать на гаджете. Увы, совсем не быстро, т.к. потребуется время на поиски и активацию гаджета, поиск приложения, ввод даты, осознание полученного результата. А еще можно друзей/подруг порадовать своими внезапно появившимися экстраординарными способностями. Кстати, друзья быстро осознают удобство использования вечного календаря с голосовым интерфейсом.

Разве это возможно? Как-то раньше обходились без компьютеров. В одной из тв-передач «ищем таланты» показывали натренированного трехлетнего ребенка, который может вычислять произведение трехзначных чисел (пощадите своих детей). Впрочем, взрослые уже не дети и их мозг частично кристаллизован, в смысле слабо обучаем. Значит нужно запоминать как можно меньше и максимально задействовать имеющиеся навыки.

В алгоритмике часто объемы вычислений могут быть скомпенсированы объемами памяти. Т.е. чем больше оперативки доступно, тем меньше потребуется вычислений. Аналогично работает мозг – чем больше мы запомнили, тем быстрее ищем решение. Запомнили несколько формул для сборки кубика Рубика – соберете за пару минут (после длительной тренировки). Запомнили полторы сотни формул – соберете за пару десятков секунд. Мировой рекорд 2013 года – 8.18 сек. Еще раз: чем больше помним – тем быстрее решение.

Алгоритм

Нужно взять смещение (день недели) первого дня года (y) и смещение месяца (m). Затем вычислить сумму y+m+d, где d – день месяца, и найти остаток от деления на 7. Получим номер дня недели.
Что нужно запомнить

РазмышленияВ целом, достаточно запомнить все дни недели всех 28 лет (периодичность пропорциональна произведению периодов високосных лет и дней недели). Последовательность в 10k. Это довольно много.

Если добавить одну операцию сложения, то будет достаточно запомнить лишь пару рядов чисел:

m(month) = { 6 2 2 5 0 3 5 1 4 6 2 4 }, с января по декабрь

y(year) = { 6 0 1 2 4 5 6 0 2 3 4 5 0 1 2 3 5 6 0 1 3 4 5 6 1 2 3 4 }, с 1988 по 2015

Например: 13 сентября 2013 = (13 + 4 + 2) % 7 = 5 (пятница)

Смещения для месяца берутся из календаря некоторого года. Смещение месяца равно количеству серых квадратов в начале месяца. Например, не високосный 2006 год. Смещение для этого года будет 0.

Все же запомнить смещения для всех лет и затем выполнять быстрый поиск по индексу довольно сложная когнитивная задача. Есть альтернативный путь – вычислить. Нужно взять две последние цифры года (+100 для XXI века) — Y. Далее найти ближайший прошлый високосный Yв. Взять dY = Y – Yв. Тогда смещение года можно вычислить

y(Y) = (50 – Yв/2 + dY)

Недостаток формулы в том, что для 2004 и далее смещение будет отрицательным, а для начала и середины XX века двузначными, что слегка затрудняет вычисления в уме. Можно использовать разные формулы для каждого века, в которых учитываются только две младшие цифры года. Например, 12 для 2012г и 1912г.


XX: (50 – Yв/2 + dY) % 7 или (8 – Yв/2 % 7 + dY)
XXI: (7 – Yв/2 % 7 + dY)

В итоге может оказаться проще запомнить таблицу смещений в таком виде:

Смещение для года можно вычислить через сумму смещения ближайшего меньшего високосного года и его разницы с искомым годом. Семь цифр запомнить проще чем 28. К тому же, цифры расположены в убывающем порядке с шагом 2. (Да, да, (0 – 2) будет 5, помним про остаток от деления на 7). Можно запомнить цифры (6, 4, 2, 0, -2, -4, -6), что при вычислениях даст аналогичный результат. Года кратные 20 располагаются в косом квадрате 3х3 по схеме «ход конем» c 2000 годом в центре. Значения смещений месяцев и лет согласованы так, чтобы на 2000 год приходилось смещение 0. А шаг между соседними рядами 28 лет.

Например, для 2014 смещение будет y(2014) = y(2012) + 2 = 1 + 2 = 3. А день программиста 13 сентября 2014 года будет (y(2014) + m(сен) + 13) = (3 + 4 + 13) = 20 => 20 % 7 = 6, т.е. суббота.

Структурируем ряд смещений для месяцев. Значения удобно запоминать по сезонам: весна, лето, осень, зима.

Обратите внимание, что вдруг (?), в порядке сверху вниз и слева направо, цифры выстроились в возрастающий ряд (первая цветная таблица). Можно запоминать только остатки от деления на 7 (вторая цветная таблица) или для восстановления всей таблицы запомнить только разности (последняя таблица). Прибавляя 1 к 1, получим для марта 2, для июня 2+1=3, для сентября 3+1=4 и т.д. Одинаковые значения раскрашены в одинаковые цвета. Для быстрого поиска нам поможет вторая цветная таблица. Помним, что строки — это сезоны, начиная с весны. Это крайне непривычно. Но в древнем Риме год начинался именно с марта. Это отражено в названиях месяцев латинскими цифрами: September/October/November/December – 7/8/9/10, т.е. февраль был последним 12м месяцем года, к которому добавляли високосный день.

12 апреля 1961 года: (6 + 1 + 5 + 12) = (0 + 5 + 12) => 17 % 7 = 3 – среда.

Важно!!! У программистов вечная проблема с потерянной единицей. В нашей задачке без этого не обошлось. Для января и февраля високосного года нужно вычитать единицу.

14 февраля 2012 = (y(2012)+m(фев)+14) — 1 = (1 + 2 +14) — 1 => 16 % 7 = 2, т.е. вторник.

Еще нужно помнить, что не все года что делятся на 4 будут високосными (исключения — 2100, 1900, 1800, ….). Соответственно, необходимо учесть смещение для века. Впрочем, даже если не учитывать последнее исключение можно безошибочно оперировать днями недели за XX и XXI века, что достаточно для большинства житейских случаев.

Немного оптимизации.

Вычисления можно производить в потоковом режиме. Обычно дату рождения (или любую другую дату) сообщают начиная с дня месяца, например, 23 декабря 1913 года. Т.е. в процессе сообщения даты можно частично вычислить искомую сумму 23 + m(дек) = 27 или даже 23 % 7 + m(дек) = 2 + 4 = 6 и затем уже задуматься y(1913) = y(1912) + 1 = 3. В итоге сообщить 30 % 7 = (6 + 3) % 7 = 2, вторник.

Часто приходится оперировать датами текущего года. Т.е. смещение года вы всегда будете помнить, т.к. от частого использования значение «закэшируется». Например, для 2014 смещение равно 3.

Что мы получили. Правила заполнения таблиц простые и вы скорее всего их запомнили и сможете воспроизвести себе шпаргалку в любом месте в любое время. Но для быстрого счета таблицы проще заучить целиком. Ведь мы не восстанавливаем таблицы сложения и умножения для расчета сдачи перед кассой. Эти таблицы «прошиты» еще в начальной школе. Для запоминания таблиц легче всего воспользоваться тренажером Week Brain Calc (Windows Phone).

После непродолжительной тренировки можно порадовать любимых своими уникальными способностями.

habr.com


Смотрите также