אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — יסודות (שאלון 899371)מבחן 2023 · קיץ מועד א · שאלה 3כל שאלות המבחן ←
תכנות מונחה עצמיםמחלקות ואובייקטים

בנתיבי תחבורה ציבורית הוצבו מצלמות תנועה, המצלמות מצלמות כל רכב שעובר על פניהן.

נתונה המחלקה CarInfo — מידע על כל רכב שצולם, ולה שלוש תכונות:

  • id — מספר לוחית זיהוי של כלי הרכב שצולם, מטיפוס מחרוזת.
  • privateCar — אם כלי הרכב שצולם הוא רכב פרטי, התכונה היא true, ואם כלי הרכב הוא ציבורי — false.
  • speed — מהירות הנסיעה של כלי הרכב שצולם, מטיפוס שלם.

הניחו שקיימות פעולות get/Get ו-set/Set לכל אחת מן התכונות במחלקה (לצורך המימוש כאן נוספה גם פעולה בונה, שלא נדרשה בגוף השאלון עצמו, כדי שהמחלקה תהיה שלמה וניתנת להרצה).

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

  • כלי הרכב הוא רכב פרטי.
  • כלי הרכב נוסע מעל המהירות המותרת.
סעיף א

כתבו פעולה פנימית במחלקה CarInfo ששמה illegal בשפת Java או Illegal בשפת C#, המקבלת את מהירות הנסיעה המותרת maxSpeed מטיפוס שלם. הפעולה תחזיר true אם כלי הרכב עבר עבירת תנועה (כלומר, אם כלי הרכב הוא רכב פרטי, ו/או נסע מעל המהירות המותרת), אחרת הפעולה תחזיר false.

public bool Illegal(int maxSpeed)

סעיף ב-1

נתונה המחלקה CameraInfo — מידע של מצלמת תנועה, ולה שלוש תכונות:

  • city — קוד העיר שבה המצלמה מוצבת, מטיפוס שלם. הקוד הוא מספר בין 0 ל-99 (כולל). יש 100 ערים, ולכל עיר יש קוד ייחודי.
  • maxSpeed — המהירות המותרת באזור המצלמה, מטיפוס שלם.
  • cars — מערך מטיפוס CarInfo של כלי הרכב שצולמו במצלמה (המערך ללא תאים ריקים — null).

הניחו שקיימות פעולות get/Get ו-set/Set לכל אחת מן התכונות במחלקה.

כתבו פעולה פנימית במחלקה CameraInfo ששמה allGood בשפת Java או AllGood בשפת C#, המחזירה true אם כל כלי הרכב שצולמו במצלמה לא עברו עבירת תנועה, אחרת היא מחזירה false. אפשר להשתמש בפעולה שכתבתם בסעיף א.

public bool AllGood()

סעיף ב-2

כתבו פעולה חיצונית ששמה legalCities בשפת Java או LegalCities בשפת C#.

הפעולה מקבלת מערך cameras מטיפוס CameraInfo של 100 המצלמות שהוצבו ב-100 הערים השונות.

הפעולה תחזיר את כמות הערים שלא אותרה בהן שום עבירת תנועה.

הערה: יתכן יותר ממצלמה אחת באותה העיר.

אפשר להשתמש בפעולה שכתבתם בסעיף ב(1).

public static int LegalCities(CameraInfo[] cameras)

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

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

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

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