אתם מתרגלים שאלה מתוך מה"ט אלגוריתמיקה ותכנות בפייתון — הנדסאי תוכנהמבחן 2024 · אביב מועד א · שאלה 11כל שאלות המבחן ←
תכנות בסיסימערכים חד-ממדיים

נתונה המחלקה Calendar2024 המתארת לוח שנה 2024.

למחלקה תכונה אחת days שהיא רשימת מספרים שלמים בגודל 12 אשר כל אחד מציין מספר הימים בחודש המתאים למיקומו ברשימה.

  • איבר במקום 0 (הראשון ברשימה) יהיה 31 כי בחודש ינואר (החודש הראשון בשנה) יש 31 ימים.
  • איבר במקום 1 (השני ברשימה) יהיה רשום 29 כי בחודש פברואר (החודש השני בשנה) יש 29 ימים.
  • איבר במקום 2 (השלישי ברשימה) יהיה רשום 31 כי בחודש מארס יש 31 ימים וכו'.
מספר האיבר ברשימה01234567891011
מספר הימים בחודש312931303130313130313031

(טבלה שוחזרה לפי לוח שנת 2024 (מעוברת) — ראו fidelity_notes)

סעיף א

כתבו במחלקה Calendar2024 פעולה המקבלת כפרמטרים שני מספרים שלמים. הראשון מציין יום בחודש, השני מציין את מספר החודש (יחד מספרים אלו מציינים תאריך). הפעולה תחשב ותחזיר את מספר הימים שעברו מתחילת השנה (1 בינואר) ועד התאריך שהתקבל. לדוגמה: עבור התאריך: 22,1 (22/1) יוחזר המספר: 21 עבור התאריך: 22,3 (22/3) יוחזר המספר: 81 (31+29+21) עבור התאריך: 1,5 (1/5) יוחזר המספר: 121 (31+29+31+30) כותרת הפעולה: num_of_days(self, day, month)

סעיף ב

יום 1/1 (היום הראשון של השנה) חל בשנה 2024 על יום ב' (יום שני, יום מספר 2 בשבוע). כתבו פעולה המקבלת כפרמטרים שני מספרים שלמים. הראשון מציין יום בחודש, השני מציין את מספר החודש (יחד מספרים אלו מציינים תאריך). הפעולה תחשב ותחזיר את מספר היום בשבוע שבו הוא חל. לדוגמה: עבור יום 1/1 יש להחזיר 2 עבור יום 8/1 יש להחזיר 2 עבור יום 1/2 יש להחזיר 5 עבור יום 22/3 יש להחזיר 6 כותרת הפעולה: weekday(self, day, month) הערה: אפשר להשתמש בפעולה של סעיף א' גם אם לא כתבתם אותה

סעיף ג

כתבו במחלקה Calendar2024 פעולה המדפיסה יום בשבוע עבור כל יום ראשון וכל יום אחרון של 12 חודשי השנה 2024. כותרת הפעולה: print_first_last(self) הערה: אפשר להשתמש בפעולות של סעיפים א' ו-ב' גם אם לא כתבתם אותן

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי