מערכת מחשוב של בנק "SimpleBank" כוללת שתי מחלקות הבאות: Account ו-Branch.

למחלקה Account (חשבון) ארבע תכונות:

  • מספר חשבון – num, מטיפוס מספר שלם, int
  • מספר תעודת הזהות של הלקוח – id_num, מטיפוס מחרוזת, str
  • היתרה בחשבון – balance, מטיפוס מספר ממשי, float
  • מצב החשבון – is_active, מטיפוס bool (True – חשבון פעיל, ו-False – חשבון לא פעיל) בעת פתיחת חשבון, הלקוח מקבל מתנה ₪100 ליתרת חשבון.

למחלקה Branch (סניף) תכונות הבאות:

  • מספר סניף – branch_num, מטיפוס שלם, int
  • רשימת חשבונות – accounts – רשימה הפניות לעצמים מסוג Account
  • מספר החשבונות המקסימלי שאותם הסניף רשאי לפתוח – max_accounts, מטיפוס מספר שלם, int בעת פתיחת סניף חדש יש ליצור רשימה ריקה ללא חשבונות בפועל.
(א)כתבו במחלקות Account ו-Branch פעולות בונות (constructors).
במחלקה Account:
`__init__(self, num, id_num)`
במחלקה Branch:
`__init__(self, branch_num, max_accounts)`
במחלקה Branch קיימת פעולה פנימית ליצירת מספר חשבון, המבטיחה שמספר חשבון יהיה ייחודי בסניף. אפשר להשתמש בפעולה זו ולא צריך לממש אותה.
כותרת הפעולה:
`generate_num(self)`
(ב)כדי למשוך לקוחות חדשים החליטה הנהלת הבנק על המבצע הבא: כל לקוח חדש (זה שאין לו חשבון בסניף) מקבל מתנה של ₪500 בעת פתיחת חשבון (אם ללקוח יש כבר חשבון הוא מקבל מתנה "רגילה" של ₪100).
כתבו במחלקה Branch פעולה להוספת חשבון חדש:
`add_account(self, id_num)`
הפעולה תחזיר ערך True אם הוספה הצליחה, ולא הפעולה תחזיר ערך False
(ג)כאשר לקוח רוצה לעבור לסניף הנוכחי (this) מסניף אחר other, כל החשבונות שלו בסניף הקודם נסגרים (הופכים להיות "לא פעילים") ובסניף חדש (this) נפתח חשבון חדש עם יתרה השווה לסכום היתרות שהיו לו בסניף הקודם. אין צורך במחיקה חשבונות שנסגרו
כתבו פעולה המבצעת מעבר לקוח מסניף לסניף. כותרת הפעולה:
`move_client(id_num, other)`
שימו לב: לקוח העובר מסניף לסניף הוא לא לקוח חדש ולא מגיעה לו מתנה (גם לא מתנה רגילה). אפשר להניח שבסניף יש מקום לחשבון חדש.

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

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

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

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←