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

מערכת מידע העוקבת אחר התפתחות תינוקות בקופות חולים כוללת שתי מחלקות: Date ו-Baby.

המחלקה Date מייצגת תאריך ולה שלוש תכונות: day – יום, month – חודש, year – שנה. למחלקה הוגדרו פעולה בונה, פעולות set/get לכל התכונות. וכן הוגדרו שתי פעולות: equals ו-tomorrow.

  • הפעולה bool equals(Date other) המקבלת כפרמטר תאריך מסוים other, ובודקת אם הוא זהה לתאריך המיוצג על ידי האובייקט שמפעיל את הפעולה (this).
  • הפעולה Date tomorrow() המחזירה את התאריך שלמוחרת התאריך this. המחלקה Baby מייצגת תינוק ולה שש תכונות:
  • שם פרטי – firstName, מטיפוס מחרוזת, string
  • שם משפחה – lastName, מטיפוס מחרוזת, string
  • מספר זהות – id, מטיפוס מחרוזת, string
  • תאריך לידה – birth, מטיפוס Date
  • משקל – weight, מטיפוס מספר ממשי, double
  • גובה – height, מטיפוס שלם, int למחלקה הוגדרו פעולה בונה, ופעולות Set/Get לכל התכונות.
סעיף א

כתבו במחלקה Baby את הפעולה CompareTo המקבלת כפרמטר תינוק other ומחזירה מספר שלם המציין הבדל ברמות התפתחות של שני תינוקות:

  • אם המשקל של התינוק הנוכחי (שמיוצג באמצעות האובייקט שמפעיל את הפעולה, this) שווה למשקל של התינוק other, וגם הגובה של this שווה לגובה של other, הפעולה תחזיר 0.
  • אם גם המשקל של this גדול מהמשקל של other וגם הגובה של this גדול מהגובה של other, הפעולה תחזיר 1.
  • אם רק המשקל של this גדול מהמשקל של other, הפעולה תחזיר 2.
  • אם רק הגובה של this גדול מהגובה של other, הפעולה תחזיר 3.
  • אחרת, הפעולה תחזיר 4.
סעיף ב

כתבו במחלקה Baby את הפעולה הבוליאנית AreTwins המקבלת כפרמטר תינוק נוסף other ובודקת אם הוא תאום של התינוק המיוצג באובייקט שמפעיל את הפעולה (this). אם כן – הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false. התינוקות הם תאומים אם:

  • שם המשפחה שלהם זהה.
  • השם הפרטי שלהם שונה.
  • מספרי הזהות של התינוקות שונים זה מזה.
  • תאריך הלידה שלהם זהה או שונה ביום אחד בדיוק (כלומר, נולדו באותו יום או בימים עוקבים).
סעיף ג

כתבו פעולה המקבלת מערך תינוקות babies (מערך של עצמים מסוג Baby) תינוק baby נוסף. הפעולה תדפיס את מספרי תעודות הזהות של התינוקות עם אותה רמת ההתפתחות. כותרת הפעולה: public static void Print(Baby[] babies, Baby baby) חובה להשתמש בפעולה שכתבתם בסעיף א'

סעיף ד

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

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

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

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

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