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

המחלקה Actor (שחקן תיאטרון) מאופיינת בתכונות הבאות: name (מסוג מחרוזת), age (מסוג מספר שלם), numActs (מספר ההצגות ששיחק עד היום, מסוג מספר שלם). במחלקה Actor הוגדרה פעולה בונה, וכן הוגדרו לכל אחת מהתכונות get ו-set.

המחלקה Act (הצגה) מאופיינת בתכונות הבאות: actName (שם ההצגה, מסוג מחרוזת), len (אורך ההצגה בדקות, מסוג מספר שלם), actArr (מערך חד-ממדי של שחקנים מסוג Actor), currentNum (מספר השחקנים המשתתפים בהצגה, מסוג מספר שלם). בכל הצגה יכולים לשחק לכל היותר 20 שחקנים. הניחו שבמחלקה Act הוגדרו get ו-set לכל אחת מהתכונות.

סעיף א

כתבו את כותרת המחלקה Act, את התכונות ואת הפעולה הבונה המקבלת שני פרמטרים: שם ההצגה והאורך. הפעולה הבונה מייצרת מערך שחקנים ריק.

public Act(String actName, int len)

סעיף ב

שחקן יכול להשתתף בהצגה אם הוא בן 45 לפחות, ויש לו ניסיון של לפחות חמש הצגות ששיחק בעבר. כתבו במחלקה Act פעולה המקבלת שחקן (עצם מסוג Actor) ומוסיפה (אם אפשר) את השחקן להצגה. הפעולה תחזיר אחת מהמחרוזות הבאות:

  • אם אין מקום במערך actArr — תחזיר המחרוזת "no room".
  • אם השחקן לא עומד בתנאים — תחזיר המחרוזת "not suitable".
  • אם השחקן התווסף להצגה — תחזיר המחרוזת "was added".

public String addActor(Actor a)

סעיף ג

שחקן מנוסה הוא שחקן שיש לו ניסיון השתתפות בעשר הצגות לפחות. כתבו במחלקה Act פעולה שמחזירה את מספר השחקנים המנוסים המשתתפים בהצגה.

public int countExperienced()

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

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

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

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