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

פרסומת ברדיו מאופיינת במשך זמן הפרסומת בשניות length, בשם המוצר המפורסם product, בשם החברה המפרסמת company ובמחיר הפרסומת price.

המחלקה Advert כוללת את התכונות הבאות:

public class Advert
{
    private int length;
    private string product;
    private string company;
    private double price;

במחלקה הוגדרו פעולה בונה (בנאי - constructor), פעולות Set/Get לכל התכונות.

בשעת שידור אחת מותר לפרסם מקסימום 15 פרסומות במשך חמש דקות בסה"כ. מספר הפרסומות המדויק בשעת השידור לא ידוע מראש, מכיוון שהוא תלוי באורכן של הפרסומות המשודרות באותה שעה.

שעות שידור הן מספרים שלמים: 0,1,2...23.

המחלקה שעת שידור, AdvertHour, מכילה את הפרסומות המשודרות בשעה מסוימת.

חלק מפעולות הממשק של המחלקה AdvertHour מתוארות בטבלה הבאה:

שם הפעולהתיאור הפעולה
FreeTimeהפעולה מחזירה את הזמן (בשניות) שנותר פנוי לפרסומת בשעת השידור.
IsPossibleהפעולה מקבלת פרסומת adv ומחזירה אמת אם אפשר להוסיף את הפרסומת לשעת השידור.
AddAdvertהפעולה מקבלת פרסומת adv ומוסיפה אותה לשעת השידור. הפרסומת adv תהיה הפרסומת האחרונה שתשודר. אם אי אפשר להוסיף פרסומת, הפעולה לא מבצעת דבר.

המחלקה ManageDay מנהלת את יום השידור תוך שימוש במחלקות AdvertHour ו-Advert.

סעיף א

כתבו את כותרת המחלקה AdvertHour ואת התכונות שלה. חובה לתעד את התכונות.

סעיף ב

כתבו את הבנאי של המחלקה ואת שלוש הפעולות FreeTime, IsPossible, AddAdvert. FreeTime — מחזירה את הזמן (בשניות) שנותר פנוי לפרסומת בשעת השידור. IsPossible — מקבלת פרסומת adv ומחזירה אמת אם אפשר להוסיף אותה לשעת השידור. AddAdvert — מקבלת פרסומת adv ומוסיפה אותה לשעת השידור (adv תהיה האחרונה שתשודר); אם אי אפשר להוסיף, הפעולה לא מבצעת דבר.

סעיף ג

כתבו את כותרת המחלקה ManageDay ואת התכונות שלה. חובה לתעד את התכונות.

סעיף ד

כתבו פעולה BenefitDay במחלקה ManageDay המחזירה את הרווח הכולל שהתקבל משידור הפרסומות ביום זה.

public double BenefitDay()

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

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

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

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