8 תשובות
אני יודעת c#
תכתבי פה את השאלה שלך ואני אנסה לעזור..
שואל השאלה:
אז אולי עדיין תוכלי לעזור לי.. צריכה עזרה באלגוריתם כזה:
כתבו פונקציה "יום בשבוע", שמקבלת כפרמטרים חודש לבדיקה (ערך בין 1 ל-12), יום לבדיקה (ערך בין 1 ל-31) ואיזה יום בשבוע היה ה-1 בחודש (ערך בין 1 ל-7). הפונקציה תחשב ותחזיר את היום בשבוע.
לא הבנתי את העקרון- איזה חישוב אני עושה כדי לקבל את היום בשבוע?
אנונימית
שאלה די מוזרה.. ולא מנוסחת טוב
שואל השאלה:
זו השאלה המלאה אם זה יעזור
5) אם ה-1 בדצמבר היה יום חמישי, איזה יום יהיה ה-31 לדצמבר?
על השאלה הזו תדע לענות פונקציה שתכתבו!
הפונקציה תקבל מהמשתמש איזה יום בשבוע היה ה-1 בחודש, ויום בחודש לבירור, ותוכל לענות באיזה יום בשבוע הוא יהיה.
הדרכה:
א. הגדירו enum של חודש (january-december) ושל יום בשבוע (sun-sat). ייתכן ויעזור לחישובים אם הספירה של SUN תתחיל מ-1, וגם JAN יתחיל מ-1.
ב. כתבו פונקציה "יום בשבוע", שמקבלת כפרמטרים חודש לבדיקה (ערך בין 1 ל-12), יום לבדיקה (ערך בין 1 ל-31) ואיזה יום בשבוע היה ה-1 בחודש (ערך בין 1 ל-7). הפונקציה תחשב ותחזיר את היום בשבוע.
ג. בעת קבלת הקלט מהמשתמש, הבדילו בין חודשים להם 28, 30 או 31 ימים. כדאי לכתוב פונקציה checkInput שבודקת האם הקלט תקין.
אנונימית
נניח את צריכה להחזיר איזה יום בשבוע היה ה15 בחודש מסוים (דצמבר נגיד).
ואת יודעת שהראשון לאותו חודש היה ביום שלישי.
את סופרת באופן כזה:
1.12 (3) יום שלישי
2.12 (4) יום רביעי
3.12 (5)
4.12 (6)
5.12 (7)
6.12 (1)
..

15.12 ( 4) רביעי

לפתרון השאלה, את קודם כל בודקת שהקלט תקין.

ואז יש לך את הערכים הבאים:
day = (מס 1-7)
date = (יום בחודש)
Out = day + date - 1;
while (out>7)
out = out-7

מקווה שזה מובן
שואל השאלה:
אבל לא הבנתי איך אמור להיות החישוב הזה.. אתה יכול לנסות להסביר לי?
אנונימית
ימים בשבוע הם סימטריים.
היום, יום רביעי ה13.12.
ה 6.12 היה גם יום רביעי. כי יש הפרש של 7 בדיוק בין התאריכים.
לדוגמא ניקח את התאריך 14.12 הפרש שמונה בינו לבין 6.12
נעביר 8 ימים ביומן ונגיע ליום חמישי (נעביר 7 עד היום, ועוד אחד עד מחר)

אז בפתרון של השאלה שלך ההפרש בין התאריך המבוקש לראשון לחודש הוא תמיד התאריך המבוקש פחות 1.
ניקח את היום בשבוע בו היה הראשון לחודש ונוסיף את ההפרש.
כעת, נוריד 7 כל פעם עד שנגיע למספר בין 1-7.
גדול או שווה ל1 וקטן או שווה מ7.
זה יהיה היום בשבוע שנרצה.
אנחנו מורידים 7 מהסיבה שאמרתי קודם, יש מחזוריות של 7 ימים ולכן לדוגמא 22~1 22-7-7-7=1.