החנות "חלץ לך חולצה" מוכרת חולצות של מותגים שונים באמצעות האינטרנט. לשם כך הוגדרו המחלקות Shirt ו-Storage.
המחלקה Shirt מייצגת חולצה. למחלקה ארבע התכונות הבאות:
- קוד מתנה – code – מטיפוס מספר שלם, int
- שם מותג – brand – מטיפוס מחרוזת, string
- מחיר – price – מטיפוס ממשי, float
- סוג חולצה (למי מיועדת החולצה) – type – מטיפוס תו, char. התכונה יכולה לקבל אחת משלוש האפשרויות הבאות: 'F' – חולצות לנשים, 'M' – לגברים, 'K' – לילדים.
(א)כתבו פעולה set_type(self, type). הפעולה מעדכנת את התכונה type בהתאם לפרמטר. אם הפרמטר שהפעולה מקבלת אינו תקין, העדכון לא מתבצע.
(ב)המחלקה Storage מייצגת את המחסן של החנות. למחלקה שתי התכונות הבאות:
- רשימת חולצות – shirts – רשימה של עצמים מטיפוס Shirt
- רשימת מותגים שהחנות מוכרת – brands – רשימה של מחרוזות
כתבו במחלקה Storage פעולה המקבלת שם מותג וסוג חולצה. הפעולה תחזיר רשימת חולצות של אותו מותג וסוג.
כותרת הפעולה:
```python
def shirts_by_brand(self, brand, type)
```
אם בחנות אין חולצות מתאימות, הפעולה תחזיר רשימה ריקה.
- רשימת חולצות – shirts – רשימה של עצמים מטיפוס Shirt
- רשימת מותגים שהחנות מוכרת – brands – רשימה של מחרוזות
כתבו במחלקה Storage פעולה המקבלת שם מותג וסוג חולצה. הפעולה תחזיר רשימת חולצות של אותו מותג וסוג.
כותרת הפעולה:
```python
def shirts_by_brand(self, brand, type)
```
אם בחנות אין חולצות מתאימות, הפעולה תחזיר רשימה ריקה.
(ג)החנות רוצה להכריז על מבצע המיועד למשפחות: כל מי שמזמין שתי חולצות של אותו מותג (אחת לנשים ואחרת לגברים), יכול לקבל חולצה לילד (של אותו המותג) במתנה.
כתבו במחלקה Storage פעולה המדפיסה שמות של כל המותגים אשר יוכלו להשתתף במבצע.
כותרת הפעולה:
```python
def print_names(self)
```
כתבו במחלקה Storage פעולה המדפיסה שמות של כל המותגים אשר יוכלו להשתתף במבצע.
כותרת הפעולה:
```python
def print_names(self)
```
(ד)מהי סיבוכיות זמן הריצה של הפעולה שכתבת בסעיפים ב' ו-ג'? הסבירו את תשובתכם.
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות