אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — יסודות (שאלון 899371)מבחן 2026 · קיץ מועד Special · שאלה 4כל שאלות המבחן ←
תכנות מונחה עצמים›מחלקות ואובייקטים

נתונה המחלקה SmartDevice, המייצגת מכשיר חשמלי במערכת "בית חכם". למחלקה התכונות הבאות: deviceName – שם המכשיר, מטיפוס מחרוזת. wattage – צריכת החשמל של המכשיר (וואט), מטיפוס שלם. isActive – מציין האם המכשיר פועל כרגע (true/false), מטיפוס בוליאני. הניחו שקיימות פעולות Get/get ו-Set/set עבור כל תכונות המחלקה.

סעיף א(1)

כתבו פעולה בונה למחלקה SmartDevice המקבלת את שם המכשיר – name ואת צריכת החשמל – watts. הפעולה מאתחלת את ערכי התכונות לפי הערכים שהתקבלו ותקבע כי המכשיר פועל כרגע. הניחו שהפרמטרים שהתקבלו תקינים.

public SmartDevice(String name, int watts)

סעיף א(2)

מכשיר חשמלי הוא "High Energy" אם צריכת החשמל שלו גבוהה מ-1,000 וואט. כתבו במחלקה SmartDevice פעולה פנימית בשם isHighEnergy. הפעולה תחזיר true אם המכשיר הוא "High Energy", אחרת תחזיר false.

סעיף ב(1)

נתון מערך בשם devices מטיפוס SmartDevice המכיל מידע על כל מכשירי החשמל המחוברים לבית. המערך מכיל רק עצמים (אין בו ערכי null) והוא אינו ממוין. כתבו פעולה חיצונית בשם amount המקבלת את המערך devices. הפעולה תחזיר את כמות המכשירים במערך הפועלים כרגע וגם חשבים למכשירי "High Energy" (לפי ההגדרה בסעיף א(2)), ותדפיס את ממוצע צריכת החשמל של מכשירים אלו.

public static int amount(SmartDevice[] devices)

סעיף ב(2)

כתבו פעולה חיצונית בשם getNamesDevices המקבלת את המערך devices. הפעולה תחזיר מערך מלא (ללא תאים ריקים) מטיפוס מחרוזת, המכיל את השמות (deviceName) של המכשירים במערך שפועלים כרגע וגם חשבים למכשירי "High Energy". הערה: חובה להשתמש בפעולה שכתבתם בתת סעיף ב(1).

public static String[] getNamesDevices(SmartDevice[] devices)

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

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

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

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