אתגר ספירת העומר

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

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

שלושה אתגריים עיקריים יש לנו כאן:

א.) איך אני יודע באיזה יום בספירה אני נמצא, אם אני מציג את זה באתר כלשהו, והדף רץ כשהמשתמש מבקש אותו, אני אמור להסתמך על מידע כלשהו/תאריך המחשב וכו׳ ע"מ שאוכל להציג לו את היום הנוכחי.

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

ג.) הרכב הטקסט הכללי משתנה בהתאם ליום שבו נמצאים וכן באם הוא מתחלק בדיוק לשבוע או שיש לו שארית… "שהם" וכו׳

 

בבסיס המחשבה הייתי אומר שאפשר פשוט לייצר מערך ענק עם כל הטקסטים מסודרים מראש לפי ימים, כלומר ממש string's ארוכים של כל יום ויום אפשר אפילו בקובץ נפרד שנטען אותו לסקריפט ב $.get ובכל יום אנו מציגים את האיבר הבא במערך…מה אתם אומרים?!

פשוט… קל… ובלי הרבה לוגיקה,

מצד שני… משעמם…

 

אז באו נאתגר את עצמנו,

שלב ראשון:

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

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

נוכל לכתוב פונקציה שמקבלת מספר וב switch case הוא תחזיר טקסט… לצורך העניין במקרה שלנו 49 שורות של case,

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

האתגר אולי יהיה להכין switch של מספר שורות בודדות ובאותה הפונקציה לקבל גם את המספרים הדו ספרתיים בתור טקסט…

איך עושים את זה…?! 

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

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

שתפו בבקשה את הפתרונות שלכם, 

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

 

נפתלי

 

 

 

2 תגובות לפוסט “אתגר ספירת העומר

    1. הנוסחה לגבי היום היא מאוד פשוטה, התחילו לספור בדיוק ב 1/4 כך שאפשר להצמד לתאריך היומי כל יום, +30 אם זה כבר חודש מאי…

השאר תגובה

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