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

חברת "פרחי הארץ" מגדלת פרחים ושולחת אותם למכירה בחו"ל. נתונה מחלקה FlowerPackage המייצגת משלוח פרחים המיועד לשליחה לחו"ל, עם התכונות: type (סוג הפרח, String), num (מספר פרחים במשלוח, int), time (מספר שעות שניתן להחזיק את הפרחים ללא מים, int), price (מחיר פרח בודד, double). במחלקה כבר מוגדרת פעולה בונה (בנאי) המקבלת פרמטרים לכל התכונות, פעולות set/get לכל התכונה, ופעולת toString() — אלה נתונים ואינם חלק מהמענה.

סעיף א

כתבו פעולה בונה נוספת (עומס-יתר) המקבלת סוג פרח ומחיר בלבד. הפעולה מייצרת משלוח סטנדרטי של 2,000 פרחים; הזמן הסטנדרטי שניתן להחזיק את הפרחים ללא מים הוא 12 שעות. הערה: כותרת הפעולה הבונה עצמה אינה מודפסת בשאלון — נבחרה חתימה סבירה על-פי שמות התכונות (type, price).

public FlowerPackage(string type, double price)

סעיף ב

עקב בעיות לוגיסטיות, חברת התעופה מציעה מסלול טיסה ארוך יותר; חלק מהמשלוחים לא ישרדו טיסה ארוכה, ואז אי-אפשר יהיה למכור את הפרחים. "פרחי הארץ" תדרוש מחברת התעופה פיצוי על ההפסד הכספי. כתבו פעולה חיצונית המקבלת מערך הפניות לעצמים מסוג FlowerPackage בשם arr ואורך הטיסה flyTime. הפעולה תדפיס את פרטי המשלוחים שלא יהיו תקינים (flyTime גדול מ-time של המשלוח), ותחשב ותדפיס את הסכום ש"פרחי הארץ" הפסידה. הנחה: כל תא במערך מכיל הפניה לעצם מסוג FlowerPackage, ואין תאים במערך שערכם null.

public static void Compensation(FlowerPackage[] arr, int flyTime)

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

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

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

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