כלל יום הדין

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
ג'ון קונוויי, ממציא אלגוריתם יום הדין.

כלל יום הדיןאנגלית: Doomsday rule) או אלגוריתם יום הדין (באנגלית: Doomsday algorithm) הוא אלגוריתם המאפשר לחשב את היום בשבוע שבו יוצא תאריך נתון בלוח הגרגוריאני. הוא נעזר בכך שללוח הגרגוריאני יש מחזוריות בת ארבע מאות שנה ובעזרת כך האלגוריתם מוגדר לתמיד.
אלגוריתם זה, שמאפשר חישוב בראש, הומצא על ידי ג'ון קונוויי[1] שקיבל השראה מעבודתו של לואיס קרול על אלגוריתם ללוח שנה נצחי.[2] האלגוריתם מתבסס על כך שבכל שנה יש יום מסוים בשבוע (יום הדין) שכמה תאריכים קלים לזכירה "נופלים" ביום הזה; לדוגמה, 4/4, 6/6, 8/8, 10/10, 12/12 והיום האחרון של חודש פברואר (28/2; וכאשר השנה מתחלקת ב-4, 29/2). יישום אלגוריתם יום הדין כרוך בשלושה שלבים:

  1. קביעת "יום העוגן" של המאה.
  2. שימוש ב"יום העוגן" לחישוב יום הדין של השנה.
  3. בחירת התאריך הקרוב ביותר מאלה שנופלים על יום הדין (למשל 4/4, 6/6, 8/8) וספירת מספר הימים (מודולו 7) בין התאריך לבין התאריך שרוצים למצוא באיזה יום הוא נופל.

ניתן להשתמש בטבלת ימי דין, כמפורטת בהמשך, כדי לדלג על שלבים 1 ו-2.

הטכניקה חלה הן על לוח השנה הגרגוריאני והן על הלוח היוליאני, למרות שימי הדין שלהם יהיו בדרך כלל ימים שונים.

האלגוריתם פשוט דיו עבור כל אחד עם יכולות אריתמטיות בסיסיות עבור ביצוע החישוב בראש. קונוויי יכול בדרך כלל לעשות את החישוב תוך פחות משתי שניות. כדי לשפר את מהירותו, הוא מתרגל את החישובים במחשב, שמתוכנת לשאול אותו לגבי תאריך אקראי בכל פעם בו הוא נכנס אליו.

טבלת ימי דין[עריכת קוד מקור | עריכה]

כדי למצוא את יום הדין של השנה (לפי הלוח הגרגוריאני), ניתן להיעזר בטבלה הבאה. בהמשך הערך מופיעה שיטה למציאת יום הדין בלא טבלה.

טבלת ימי דין לפי הלוח הגרגוריאני
יום שני יום שלישי יום רביעי יום חמישי יום שישי יום שבת יום ראשון יום שני יום שלישי יום רביעי יום חמישי יום שישי יום שבת יום ראשון
1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954
1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965
1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976
1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987
1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021
2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032
2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043
2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055
2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066
2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077
2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088
2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100

ניתן לראות כי לפני שנה שאינה מעוברת יום הדין זז ליום הבא - זאת משום שמספר הימים בשנה שאינה מעוברת (365) מודולו 7 יוצא 1. לעומת זאת, לפני שנה מעוברת יום הדין זז ביומיים משום שמספר הימים בשנה מעוברת (366) מודולו 7 יוצא 2, ומכאן שתהא תזוזה של יומיים.

תאריכים קלים לזכירה שיוצאים תמיד ביום הדין[עריכת קוד מקור | עריכה]

בכל שנה, תאריכים אלו (על פי הלוח הגרגוריאני) חלים ביום הדין.

חודש תאריך שיטת זכירה
ינואר 3/1 (שנה רגילה) או 4/1 (שנה מעוברת)
11/1 (שנה מעוברת)
היום השלישי בשלוש השנים הראשונות, והרביעי ברביעית
כל הספרות אחד
פברואר 14/2 (שנה רגילה)
22/2 (שנה מעוברת)
28/2 (שנה רגילה) או 29/2 (שנה מעוברת)
יום ולנטיין
כל הספרות שתיים
היום האחרון של פברואר
מרץ "0/3"
14/3
21/3
היום האחרון של פברואר
יום פאי
היום הראשון של האביב
אפריל 4/4 חודש זוגי
מאי 9/5 9 עד 5 בסבן אילבן
יוני 6/6 חודש זוגי
יולי 4/7
11/7
יום העצמאות האמריקאי
9 עד 5 בסבן אילבן
אוגוסט 8/8 חודש זוגי
ספטמבר 5/9 9 עד 5 בסבן אילבן
אוקטובר 10/10
31/10
חודש זוגי
ליל כל הקדושים
נובמבר 7/11 9 עד 5 בסבן אילבן
דצמבר 12/12
26/12
חודש זוגי
יום הקופסאות

מציאת יום הדין בלא טבלה[עריכת קוד מקור | עריכה]

ישנם מספר אלגוריתמים למציאת יום הדין של השנה ללא טבלת שנים, כמו זו שמופיעה לעיל. השיטה מתבססת על חישוב התזוזות של הימים החל מ"יום העוגן" של המאה.

מציאת "יום העוגן" של המאה[עריכת קוד מקור | עריכה]

לצורכי מציאת יום הדין נאמר כי מאה מתחילה בשנה המסתיימת בספרות 00' ונגמרת בשנה המסתיימת בספרות 99'.

כאשר

עבור הלוח הגרגוריאני:

עבור הלוח היוליאני:

כאשר 0=ראשון, 1=שני וכן הלאה עד 6=שבת.

מכאן ש:

מאה יום העוגן
1800–1899 שישי
1900–1999 רביעי
2000–2099 שלישי
2100–2199 ראשון

חישוב יום הדין של השנה באמצעות יום העוגן של המאה[עריכת קוד מקור | עריכה]

ישנם מספר אלגוריתמים למציאת יום הדין של השנה. דוגמה לאלגוריתם כזה הוא האלגוריתם הבא:

  1. חלק את שתי הספרות האחרונות של השנה ב-12, ועגל כלפי מטה (פונקציית הערך השלם). קרא לתוצאה a.
  2. שארית החלוקה מן השלב הקודם יקרא b.
  3. חלק את b ב-4 ועגל כלפי מטה. נקרא לתוצאה c.
  4. חבר את שלוש התוצאות (a,b,c). לסכום הוסף את ערכו של יום העוגן (ראשון=0, שני=1 וכן הלאה).
  5. חלק את התוצאה ב-7. השארית היא ערכו של יום הדין (ראשון=0, שני=1 וכן הלאה).

כלומר:

דוגמאות מלאות[עריכת קוד מקור | עריכה]

דוגמה א'[עריכת קוד מקור | עריכה]

נניח שנרצה למצוא את היום בשבוע בו חל ה-18 בספטמבר 1985. יום העוגן של המאה הוא רביעי (אינדקס 3), ועליו לפי האלגוריתם נוסיף את a, b, c.

  • a הוא פונקציית הערך השלם של 85/12, כלומר 7.
  • b הוא 85 מודולו 12, כלומר 1
  • c הוא פונקציית הערך השלם של b/4, כלומר 0.

חיבור של a,b,c ויום העוגן יוצא 11. 11 מודולו 7 הוא 4, ומכאן שיום הדין של 1985 הוא חמישי (אינדקס 4). כעת נשווה את התאריך ליום דין קרוב, נניח ה-5/9. ההפרש בין שני התאריכים הוא 13 יום. נוסיף למספר זה את ערכו של יום הדין השנתי, ונגיע ל-17. 17 מודולו 7 הוא 3, ומכאן שה-18 בספטמבר 1985 חל ביום רביעי (אינדקס 3).

דוגמה ב'[עריכת קוד מקור | עריכה]

נניח שנרצה למצוא את היום בשבוע בו פרצה מלחמת האזרחים האמריקנית בפורט סאמטר, שהיה ב-12 באפריל 1861. נוכל למצוא את יום העוגן באמצעות הטבלה שלעיל או לחשבו - 18 מודולו 4 הוא 2, כפול 5 הוא 10, ועוד 2 הוא 12, מודולו 7 הוא 5 (יום שישי). באמצעות חישוב a,b,c בדומה לדוגמה לעיל, סיכומם והוספת 5, נקבל 11. 11 מודולו 7 הוא 4, ומכאן שיום הדין היה בחמישי (אינדקס 4). נשתמש ביום הדין 4/4 שחל 8 ימים קודם לפני ה-12 באפריל. 8+4 הם 12. 12 מודולו 7 הוא 5 (יום שישי). מכאן שה-12 באפריל 1861 חל בשישי.

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ ג'ון הורטון קונוויי,
    "Tomorrow is the Day After Doomsday", Eureka,
    כרך 36, עמודים 28-31, אוקטובר 1973.
  2. ^ לואיס קרול,
    "To Find the Day of the Week for Any Given Date", Nature,

    31 במרץ 1887