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

המסעדה "Chef4U" מציעה משלוח מנות שף קטנות במחיר מוזל עד לבית הלקוח.

המחלקה Food מייצגת מנה. למחלקה 4 תכונות:

  • שם המנה – name, מטיפוס מחרוזת, String.
  • מחיר המנה – price, מטיפוס מספר ממשי, double.
  • מנה חלבית? – isMilk, מטיפוס בוליאני, boolean (true – מנה חלבית, false – לא).
  • דירוג המנה – raiting, מטיפוס מספר שלם. דירוג המנה הוא מספר שלם מ-1 (הכי נמוך) עד 10 (הכי גבוה). למחלקה הוגדרו פעולה בונה (constructor), פעולות Get/Set והפעולה ToString.
סעיף א

לפעמים המסעדה נאלצת להחליף את המנה הנוכחית (this) למנה אחרת other. אפשר להחליף בין המנות אם שתיהן מאותו סוג (חלבי או לא), יש להן אותו הדירוג ומחיר של המנה other לא גבוה ממחיר של המנה this. כתבו פעולה המקבלת מנה אחרת (הפנייה לעצם מטיפוס Food). הפעולה תבדוק אם ניתן להחליף מנה this למנה other. אם כן – הפעולה תחזיר ערך true, ולא – הפעולה תחזיר ערך false. כותרת הפעולה:

public bool CanChange(Food other)
סעיף ב

כתבו פעולה המקבלת מערך מנות arr ומנה newFood. הפעולה תדפיס את שמות כל המנות שאפשר להחליף אותן למנה newFood. כותרת הפעולה:

public static void Changes(Food[] arr, Food newFood)
סעיף ג

המסעדה הכריזה על מבצע: שתי מנות שונות בפחות מ-100 ₪. כתבו פעולה המקבלת מערך מנות ומדפיסה את כל הצירופים האפשריים של שתי מנות שונות שעולות יחד פחות מ-100 ₪. כותרת הפעולה:

public static void Offers(Food[] arr)
סעיף ד

מהי סיבוכיות הפעולות שכתבתם בסעיפים ב' ו-ג'. הסבירו את תשובתכם.

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

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

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

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