פונקציה המקבלת תאריך נתון, הכולל שנה חודש ויום עברי, ומחזירה את התנאים ליום הולדת באותו יום.
נקודות בדיקה בשנה:
-
חודש חסר לעומת חודש מלא שמשתנה בשנים(ידוע- חשוון וכסלו משתנים. לבדוק-מה לגבי שנים מעוברות חודש אדר ב והלאה)
-
מעוברת- לגבי נולדים באדרים וכאלה
נסיון אלגוריתם-
הנחות יסוד
-
החודשים הגמישים הם חשוון כסלו.
-
כשאדם נולד בל' בחודש חסר הוא חוגג יום-הולדת בא' בחודש שלאחריו.
-
אדר ואדר ב' תמיד חסרים- אדר א' תמיד מלא.
|
|
תשרי
|
חשוון
|
כסלו
|
טבת
|
שבט
|
אדר
|
אדר א
|
אדר ב
|
ניסן
|
אייר
|
סיוון
|
תמוז
|
אב
|
אלול
|
|
רגיל
|
1
|
2
|
3
|
4
|
5
|
6
|
NA
|
NA
|
7
|
8
|
9
|
10
|
11
|
12
|
|
מעובר
|
1
|
2
|
3
|
4
|
5
|
NA
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
אם השנה רגילה:
הכנס למערך {יום,חודש,רגיל}
אם חודש קטן או שווה ל5
הכנס למערך {יום,חודש,מעוברת}
אם חודש שווה 6
הכנס למערך [{יום,חודש,מעוברת},{יום,חודש+1,מעוברת}]
אם חודש גדול או שווה ל7
הכנס למערך {יום,חודש+1,מעוברת}
אם חודש שווה 7 וגם יום שווה 1
הכנס למערך {30,חודש-1,מעוברת}
אם השנה מעוברת:
הכנס למערך {יום,חודש,מעוברת}
אם חודש קטן או שווה ל5
הכנס למערך {יום,חודש,רגיל}
אם חודש גדול או שווה ל7
הכנס למערך {יום,חודש-1,רגיל}
אם (חודש שווה 3 או חודש שווה 4) וגם יום שווה 1 וגם (לא קיים {יום:30,חודש:חודש-1,שנה:שנה}
הכנס למערך [{30,חודש-1,רגילה},{30,חודש-1,מעוברת}]
החזר מערך
נ.ב. אם יש טעות בהנחות היסוד או באלגוריתם- או שחסר משהו אשמח לשמוע, תודה
.