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

csharp

public class Cable { private double subscriptionPayment; // מחיר קבוע למנוי public double GetPrice() { return subscriptionPayment; } } // חבילה בסיסית public class BasicPackage : Cable { private double price; // מחיר חבילה בסיסית } // חבילה מורחבת המכילה ערוצים נוספים public class ExtendedPackage : BasicPackage { private double price; // מחיר קבוע עבור כל ערוץ נוסף private int numOfChannels; private string[] namesOfChannels; // מערך שמות ערוצים } // מחלקה עבור טלפון public class Phone : Cable { private double price; // מחיר שיחה private int numberOfCalls; // מספר שיחות } // חבילה משולבת public class Triple : Cable { private Cable package; // חבילה בסיסית או מורחבת private Phone phone; // טלפון private double priceOfInternet; // מחיר השימוש באינטרנט } // מחלקה עבור לקוח public class Client { private string nameClient; private Cable cable; } // לכל התכונות בכל המחלקות קיימות פעולות Get/Set.


לקוח החברה יכול לרכוש מנוי לפי בחירתו. החברה קבעה שיטת מחיר לכל חבילה שהיא מספקת לפי הכללים הבאים:
- למחיר כל חבילה מתווסף גם המחיר הקבוע למנוי.
- מחיר חבילה מורחבת הוא מחיר החבילה הבסיסית + [מחיר ערוץ] * [מספר הערוצים].
- התשלום עבור שיחות הטלפון הוא [מחיר שיחה] * [מספר שיחות].
- לקוח הרוכש חבילה משולבת מקבל 10% הנחה (זאת אומרת שמחיר חבילה משולבת הוא 90% מסכום כל מרכיביו).

נתונה מחלקה "חברת הכבלים" Company המכילה מערך clients מטיפוס Client בגודל 1000 ומונה לקוחות numClients.
סעיף א

ממשו את פעולת GetPrice בכל אחת מארבע המחלקות האחרות: BasicPackage, ExtendedPackage, Phone, Triple. ממשו את הפעולה GetPrice במחלקה Client.

public double GetPrice()

סעיף ב

כתבו במחלקה Company פעולה המדפיסה את שמות הלקוחות שיש להם ערוץ "ספורט".

public void PrintSportClients()

סעיף ג

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

public int CountBasicOnly()

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

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

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

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