Як знайти день тижня

Як знайти день тижня

Дізнатися, на який день тижня припадає та чи інша дата в минулому, сьогоденні або майбутньому, можна за допомогою так званого вічного календаря. Виготовити такий прилад можна в домашніх умовах.

Інструкція

  1. Виготовте сім карток-календарів на один місяць, у першому з яких місяць починається з понеділка, в другому — з вівторка, в третьому — з середи і так далі до календаря, в якому місяць починається з неділі. Дайте картках номери від 1 до 7, причому перший номер привласніть календарем, у якому місяць починається з понеділка. Зробіть ці картки з щільного картону, піддайте їх ламінації, адже календар розрахований на зберігання і використання протягом багатьох років.
  2. Також включіть в комплект вічного календаря картку з наступною формулою:

    ч = д + ((13м-1) / 5) + г + (г / 4) + (в / 4)-2в, де:

    - Ч — проміжний результат, що підлягає подальшому перетворенню;

    - Д — дата;

    - М — місяць, обраний дещо незвичним чином: березень — перший місяць, лютий — дванадцятий;

    - Г — останні дві цифри номера року (якщо місяць — січень або лютий, то попереднього року);

    - В — номер століття, з якого віднята одиниця (для січня або лютого замість одиниці віднімайте двійку).

    Цю картку також виготовте з щільного картону і піддайте ламінації. Скріпіть всі картки між собою, щоб вони не загубилися. Зробіть для вічного календаря зручний футляр, при бажанні, у ньому ж зберігайте та калькулятор відповідного розміру.
  3. Провівши обчислення за вказаною формулою, результат год поділіть на сім з залишком.
  4. Візьміть модуль від залишку поділу.
  5. Візьміть картку з номером, рівним результату останнього обчислення, після чого по ній визначте день тижня.
  6. При бажанні, складіть програму для здійснення обчислень по обидва формулам на будь-якому відомому вам мовою програмування. При цьому, однак, може представляти трудність ділення з залишком, оскільки готової функції для цього в більшості мов програмування немає. Найзручніше скористатися мовою Паскаль, в якому відповідна функція є. Щоб знайти цілу частину результату ділення із залишком, скористайтесь рядком такого вигляду:

    c: = a div b.

    Для того ж, щоб знайти залишок від ділення, скористайтеся рядком іншого виду:

    c: = a mod b.