כלל יום הדין

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

כלל יום הדין

כלל יום הדיןאנגלית: Doomsday rule) או אלגוריתם יום הדין (באנגלית: Doomsday algorithm) הוא אלגוריתם המאפשר לחשב את היום בשבוע שבו חל תאריך נתון בלוח השנה הגרגוריאני (ספירת הנוצרים). הוא נעזר בכך שללוח הגרגוריאני יש מחזוריות בת ארבע מאות שנה וכך האלגוריתם מוגדר לתמיד.

Thumb
ג'ון קונוויי, ממציא אלגוריתם יום הדין.

האלגוריתם, שמאפשר חישוב בראש, הומצא על ידי ג'ון הורטון קונוויי[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.

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

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

טבלת ימי דין

סכם
פרספקטיבה

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

מידע נוסף יום שני, יום שלישי ...
טבלת ימי דין לפי הלוח הגרגוריאני
יום שני יום שלישי יום רביעי יום חמישי יום שישי יום שבת יום ראשון יום שני יום שלישי יום רביעי יום חמישי יום שישי יום שבת יום ראשון
19441945194619471948194919501951195219531954
19551956195719581959196019611962196319641965
19661967196819691970197119721973197419751976
19771978197919801981198219831984198519861987
198819891990199119921993199419951996199719981999
20002001200220032004200520062007200820092010
20112012201320142015201620172018201920202021
20222023202420252026202720282029203020312032
20332034203520362037203820392040204120422043
204420452046204720482049205020512052205320542055
20562057205820592060206120622063206420652066
20672068206920702071207220732074207520762077
20782079208020812082208320842085208620872088
208920902091209220932094209520962097209820992100
סגירה

ניתן לראות כי לפני שנה שאינה מעוברת יום הדין זז ליום הבא - זאת משום שמספר הימים בשנה שאינה מעוברת (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/59 עד 5 בסבן אילבן
יוני6/6חודש זוגי
יולי4/7
11/7
יום העצמאות האמריקאי
9 עד 5 בסבן אילבן
אוגוסט8/8חודש זוגי
ספטמבר5/99 עד 5 בסבן אילבן
אוקטובר10/10
31/10
חודש זוגי
ליל כל הקדושים
נובמבר7/119 עד 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 חל בשישי.

הערות שוליים

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.