Тренируем мозги - Вычисление дня недели по дате.
Одно из самых простых и действенных упражнений для тренировки памяти в любом возрасте – это устный счет.
Можно придумать много различных вариантов тренировки устного счета, но здесь очень важным моментом выступает интерес к данным упражнениям и результату вычислений.
Предлагаем для тренировки упражнение по вычислению дня недели по конкретной дате.
С одной стороны, это может пригодиться в конкретной ситуации, чтобы быстро определить в какой день недели родились Вы или Ваши знакомые, или в какой день недели был Ваш предыдущий День рождения или будет следующий День рождения.
А может и немного удивить вашего собеседника, сообщив ему, что он родился в какой-то конкретный день недели.
С другой стороны, это не простое упражнение только на сложение или вычитание. Здесь нужно будет в уме, и делить, и складывать, и подставлять определенные числа вместо значений месяца. Переходим к алгоритму такого вычисления.
ВЫЧИСЛЕНИЕ ДНЯ НЕДЕЛИ ПО ДАТЕ
Рассмотрим сначала четыре основных параметра для расчетов.
Возьмем дату - 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
Автор: Виктор Кириченко