טוען...
טוען...
באקדמיה למוזיקה "שיר חדש" פותחה מערכת ממוחשבת ובה המחלקות האלה:
Instrum – כלי נגינה, Bow – כלי קשת, Wind – כלי נשיפה, Perc – כלי הקשה, Musician – נגן בתזמורת, Orchestra – תזמורת.
להלן פירוט תכונות המחלקות:
Instrum (כלי נגינה). שתי תכונות:
name – שם הכלי (מטיפוס מחרוזת).material – החומר שממנו עשוי הכלי (מטיפוס מחרוזת).Bow (כלי קשת). שלוש תכונות:
name – שם הכלי (מטיפוס מחרוזת).material – החומר שממנו עשוי הכלי (מטיפוס מחרוזת).bowLength – אורך הקשת (מטיפוס שלם).Wind (כלי נשיפה). שלוש תכונות:
name – שם הכלי (מטיפוס מחרוזת).material – החומר שממנו עשוי הכלי (מטיפוס מחרוזת).numberOfValves – מספר השסתומים בכלי (מטיפוס שלם).Perc (כלי הקשה). שלוש תכונות:
name – שם הכלי (מטיפוס מחרוזת).material – החומר שממנו עשוי הכלי (מטיפוס מחרוזת).hasSticks – האם יש שימוש במקלות הקשה (מטיפוס בוליאני). אם יש שימוש במקלות – true, ואם לא – false.Musician (נגן בתזמורת). שתי תכונות:
name – שם הנגן (מטיפוס מחרוזת).instrum – כלי הנגינה שלו (מטיפוס Instrum). כל נגן מנגן על כלי אחד בלבד.Orchestra (תזמורת). שתי תכונות:
arrM – מערך של נגנים (מטיפוס Musician).count – כמות הנגנים השמורים במערך (מטיפוס שלם).הנגנים מופיעים ברצף מתחילת המערך ללא null ביניהם, אך ייתכן שהמערך אינו מלא עד הסוף.
(1) שרטטו תרשים הייררכייה בין כל המחלקות.
יש לסמן ירושה באמצעות החץ, והכלה באמצעות הסימן:
(2) כתבו את כותרות המחלקות ואת התכונות שלהן. הניחו שבכל מחלקה הוגדרו פעולות get ו־set ופעולות בונות.
כתבו במחלקה Orchestra פעולה ששמה withSticks, המחזירה את מספר הנגנים בתזמורת המנגנים בכלי הקשה שיש בהם שימוש במקלות.
מערך arrM "מסודר" הוא מערך שבו מופיעים קודם נגני כלי הקשת, אחר כך נגני כלי הנשיפה, ואחר כך נגני כלי ההקשה.
כתבו במחלקה Orchestra פעולה ששמה insert, המקבלת נגן – musician שאינו מופיע במערך arrM. הניחו שלפני תחילת הפעולה המערך , ושיש בתזמורת לפחות נגן אחד בכל סוג של כלי.
אם אין מקום לנגן נוסף במערך, הפעולה תחזיר false. אחרת, הפעולה תכניס את הנגן למערך במקום המתאים באופן שבו המערך ימשיך להיות (והנגנים יופיעו ברצף בתחילת המערך), ותחזיר true.
הערה
אפשר לשנות את סדר הנגנים, ובלבד שהמערך יהיה בסוף הפעולה.
באקדמיה למוזיקה "שיר חדש" פותחה מערכת ממוחשבת ובה המחלקות האלה:
Instrum – כלי נגינה, Bow – כלי קשת, Wind – כלי נשיפה, Perc – כלי הקשה, Musician – נגן בתזמורת, Orchestra – תזמורת.
להלן פירוט תכונות המחלקות:
Instrum (כלי נגינה). שתי תכונות:
name – שם הכלי (מטיפוס מחרוזת).material – החומר שממנו עשוי הכלי (מטיפוס מחרוזת).Bow (כלי קשת). שלוש תכונות:
name – שם הכלי (מטיפוס מחרוזת).material – החומר שממנו עשוי הכלי (מטיפוס מחרוזת).bowLength – אורך הקשת (מטיפוס שלם).Wind (כלי נשיפה). שלוש תכונות:
name – שם הכלי (מטיפוס מחרוזת).material – החומר שממנו עשוי הכלי (מטיפוס מחרוזת).numberOfValves – מספר השסתומים בכלי (מטיפוס שלם).Perc (כלי הקשה). שלוש תכונות:
name – שם הכלי (מטיפוס מחרוזת).material – החומר שממנו עשוי הכלי (מטיפוס מחרוזת).hasSticks – האם יש שימוש במקלות הקשה (מטיפוס בוליאני). אם יש שימוש במקלות – true, ואם לא – false.Musician (נגן בתזמורת). שתי תכונות:
name – שם הנגן (מטיפוס מחרוזת).instrum – כלי הנגינה שלו (מטיפוס Instrum). כל נגן מנגן על כלי אחד בלבד.Orchestra (תזמורת). שתי תכונות:
arrM – מערך של נגנים (מטיפוס Musician).count – כמות הנגנים השמורים במערך (מטיפוס שלם).הנגנים מופיעים ברצף מתחילת המערך ללא null ביניהם, אך ייתכן שהמערך אינו מלא עד הסוף.
(1) שרטטו תרשים הייררכייה בין כל המחלקות.
יש לסמן ירושה באמצעות החץ, והכלה באמצעות הסימן:
(2) כתבו את כותרות המחלקות ואת התכונות שלהן. הניחו שבכל מחלקה הוגדרו פעולות get ו־set ופעולות בונות.
כתבו במחלקה Orchestra פעולה ששמה withSticks, המחזירה את מספר הנגנים בתזמורת המנגנים בכלי הקשה שיש בהם שימוש במקלות.
מערך arrM "מסודר" הוא מערך שבו מופיעים קודם נגני כלי הקשת, אחר כך נגני כלי הנשיפה, ואחר כך נגני כלי ההקשה.
כתבו במחלקה Orchestra פעולה ששמה insert, המקבלת נגן – musician שאינו מופיע במערך arrM. הניחו שלפני תחילת הפעולה המערך , ושיש בתזמורת לפחות נגן אחד בכל סוג של כלי.
אם אין מקום לנגן נוסף במערך, הפעולה תחזיר false. אחרת, הפעולה תכניס את הנגן למערך במקום המתאים באופן שבו המערך ימשיך להיות (והנגנים יופיעו ברצף בתחילת המערך), ותחזיר true.
הערה
אפשר לשנות את סדר הנגנים, ובלבד שהמערך יהיה בסוף הפעולה.