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

נתונה המחלקה Book שיש לה שלוש תכונות:

  • קוד ספר – code, מטיפוס שלם, int
  • שנת הוצאה – year, מטיפוס שלם, int
  • האם כתוב בעברית – isHebrew, מטיפוס בוליאני, bool

במחלקה הוגדרה פעולה הבונה (בנאי, constructor)

def __init__(self, code, year, is_hebrew):
    self.code = code
    self.year = year
    self.is_hebrew = is_hebrew
סעיף א

כתבו פעולה המקבלת מספר שלם וחיובי year1 המציין שנה ובודקת אם עברו יותר מעשר שנים משנת ההוצאה עד לשנה year1 (כולל). אם כן – הפעולה תחזיר ערך True, ולא, הפעולה תחזיר ערך False. כותרת הפעולה: old_book(self, year1)

סעיף ב

עקבו בעזרת טבלת המעקב אחרי ביצוע קטע הקוד הבא ורשמו מה יהיה הפלט.

b1 = Book(1122, 1998, False)
b2 = Book(2233, 2010, True)
# כאן יש להוסיף פקודה/פקודות בסעיף ג' (*)
if b1.old_book(2014) and not b1.is_hebrew:
    print("###")
else:
    print("***")
if b2.old_book(2015):
    print("!!!")
else:
    if b2.is_hebrew:
        print("???")
סעיף ג

נא השלימו בקוד בסעיף ב' במקום (*) פקודה או פקודות כך שפלט קטע הקוד יהיה *** בלבד.

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

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

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

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