מערכת ממוחשבת של משטרת התנועה: SpeedCamera (מצלמת מהירות בודדת: קוד מצלמה, מספר כביש, מהירות מקסימלית מותרת, אוסף מספרי רכבים שנסעו מהר מהמותר). SpeedCameraNetwork (עד 100 מצלמות ליום, ייתכן פחות).
מערכת ממוחשבת של משטרת התנועה: SpeedCamera (מצלמת מהירות בודדת: קוד מצלמה, מספר כביש, מהירות מקסימלית מותרת, אוסף מספרי רכבים שנסעו מהר מהמותר). SpeedCameraNetwork (עד 100 מצלמות ליום, ייתכן פחות).
כתבו את כותרת המחלקה SpeedCamera ואת התכונות שלה. לייצוג אוסף אפשר להשתמש במחלקות Stack, Queue, Node. אפשר להוסיף תכונות נוספות. חובה לתעד את התכונות.
כתבו את הבנאי של המחלקה, המקבל את קוד המצלמה, את מספר הכביש ואת המהירות המותרת. הבנאי מאתחל אוסף מספרי כלי הרכב להיות ריק.
public SpeedCamera(int cameraCode, int roadNumber, int maxSpeed)
כתבו פעולה addCar המקבלת את מספר המכונית שצולמה ואת המהירות שלה. אם המהירות גבוהה מהמותר בכביש זה, הפעולה תוסיף מכונית זו לאוסף של המכוניות שנסעו מהר מהמותר. (הניחו שבמחלקה SpeedCamera קיימות פעולות get ואין צורך לממש אותן.)
public void addCar(int carNumber, int speed)
בכל יום מציבה המשטרה 100 מצלמות לכל היותר (ייתכן אף פחות). רשת המצלמות המוצבות בכבישים ביום נתון מיוצגת באמצעות המחלקה SpeedCameraNetwork. כתבו את כותרת המחלקה SpeedCameraNetwork ואת התכונות שלה.
כתבו את הפעולה addSpeedCamera המוסיפה את מצלמת המהירות sc לרשת המצלמות. אפשר להניח שהמצלמה sc אינה מופיעה ברשת המצלמות.
public void addSpeedCamera(SpeedCamera sc)
כביש הדורש אכיפה מוגברת הוא כביש שבוצעו בו מעל 200 עבירות מהירות ליום. כתבו פעולה המדפיסה את מספרי הכבישים שבהם יש לבצע אכיפה מוגברת. ציינו באיזו מחלקה יש לכתוב את הפעולה.
public void printRoadsNeedingEnforcement()
במשטרה רוצים לבדוק אם רכב מסוים צולם כאשר נסע במהירות גבוהה מהמותר. כתבו פעולה המקבלת מספר רכב. הפעולה תבדוק אם הרכב צולם כאשר נסע במהירות גבוהה מהמותר. אם כן — הפעולה תדפיס את מספר המצלמה אשר צילמה את העבירה ותחזיר true, ואם לא — הפעולה תחזיר false. הערה: אם רכב עשה כמה עבירות יש להדפיס את המספרים של כל המצלמות שצילמו את העבירות.
public boolean wasCaught(int carNumber)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.