החנות "Gift4U" מוכרת מתנות דרך אינטרנט. לשם כך הוגדרה המחלקה Gift המייצגת מתנה. למחלקה שלוש תכונות: code - קוד מתנה, מטיפוס מספר שלם int; price - מחיר מתנה, מטיפוס ממשי double; type - למי מיועדת המתנה, מטיפוס תו char. התכונה יכולה לקבל אחת מארבע אפשרויות: 'M' - לגברים, 'F' - לנשים, 'U' - גם לגברים וגם לנשים, 'K' - לילדים. במחלקה הוגדרו פעולה בונה ופעולות get לכל תכונה.
סעיף א
כתבו פעולה void SetType(char type). הפעולה מעדכנת את התכונה type בהתאם לפרמטר. אם הפרמטר שהפעולה מקבלת אינו תקין, העדכון לא מתבצע.
public void SetType(char type)
סעיף ב
כתבו פעולה IsForMan() בוליאנית. הפעולה מחזירה true אם המתנה מתאימה לגברים, אחרת הפעולה תחזיר false.
public bool IsForMan()
סעיף ג
כתבו פעולה חיצונית המקבלת מערך מתנות (עצמים מטיפוס Gift) arr, וסכום כסף sum. הפעולה תבדוק אם יש שלוש מתנות שונות המתאימות לגברים שהסכום שלהן שווה ל-sum. אם כן — הפעולה תדפיס את הקודים של שלוש המתנות, אם לא — הפעולה תדפיס הודעה מתאימה. הערה: אם קיימות כמה אפשרויות לבחירת שלוש מתנות, יש להדפיס את כולן.
public static void ThreeGifts(Gift[] arr, double sum)
סעיף ד
מהי סיבוכיות זמן הריצה של הפעולה שכתבתם בסעיף ג'? הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.