נתונה המחלקה SmartDevice, המייצגת מכשיר חשמלי במערכת "בית חכם". למחלקה התכונות הבאות: deviceName – שם המכשיר, מטיפוס מחרוזת. wattage – צריכת החשמל של המכשיר (וואט), מטיפוס שלם. isActive – מציין האם המכשיר פועל כרגע (true/false), מטיפוס בוליאני. הניחו שקיימות פעולות Get/get ו-Set/set עבור כל תכונות המחלקה.
נתונה המחלקה SmartDevice, המייצגת מכשיר חשמלי במערכת "בית חכם". למחלקה התכונות הבאות: deviceName – שם המכשיר, מטיפוס מחרוזת. wattage – צריכת החשמל של המכשיר (וואט), מטיפוס שלם. isActive – מציין האם המכשיר פועל כרגע (true/false), מטיפוס בוליאני. הניחו שקיימות פעולות Get/get ו-Set/set עבור כל תכונות המחלקה.
כתבו פעולה בונה למחלקה SmartDevice המקבלת את שם המכשיר – name ואת צריכת החשמל – watts. הפעולה מאתחלת את ערכי התכונות לפי הערכים שהתקבלו ותקבע כי המכשיר פועל כרגע. הניחו שהפרמטרים שהתקבלו תקינים.
public SmartDevice(string name, int watts)
מכשיר חשמלי הוא "High Energy" אם צריכת החשמל שלו גבוהה מ-1,000 וואט. כתבו במחלקה SmartDevice פעולה פנימית בשם isHighEnergy בשפת Java או IsHighEnergy בשפת C#. הפעולה תחזיר true אם המכשיר הוא "High Energy", אחרת תחזיר false.
private bool IsHighEnergy()
נתון מערך בשם devices מטיפוס SmartDevice המכיל מידע על כל מכשירי החשמל המחוברים לבית. המערך מכיל רק עצמים (אין בו ערכי null) והוא אינו ממוין. כתבו פעולה חיצונית בשם amount בשפת Java או Amount בשפת C# המקבלת את המערך devices. הפעולה תחזיר את כמות המכשירים במערך הפועלים כרגע וגם חשבים למכשירי "High Energy" (לפי ההגדרה בסעיף א(2)), ותדפיס את ממוצע צריכת החשמל של מכשירים אלו.
public static int Amount(SmartDevice[] devices)
כתבו פעולה חיצונית בשם getNamesDevices בשפת Java או GetNamesDevices בשפת C# המקבלת את המערך devices. הפעולה תחזיר מערך מלא (ללא תאים ריקים) מטיפוס מחרוזת, המכיל את השמות (deviceName) של המכשירים במערך שפועלים כרגע וגם חשבים למכשירי "High Energy". הערה: חובה להשתמש בפעולה שכתבתם בתת סעיף ב(1).
public static string[] GetNamesDevices(SmartDevice[] devices)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.