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

בטקס בחירת שיר השנה משתתפים 30 שירים (לכל שיר מספר סידורי בין 1-30). בתחרות יש מספר לא ידוע של שופטים נסתרים. כל שופט בוחר שלושה שירים בסדר עדיפות יורד ורושם את מספריהם על הפתק. מארגני הטקס מקבלים סדרות של שלשות מספרים משופטים ונותנים ניקוד: שיר במקום הראשון מקבל חמש נקודות, שיר במקום השני מקבל שלוש נקודות, שיר במקום השלישי מקבל נקודה אחת. לדוגמה: אם שופט רשם על הפתק 6,25,20 (משמאל לימין) אז: שיר 6 (מקום ראשון) מקבל חמש נקודות, שיר 25 (מקום שני) מקבל שלוש נקודות, שיר 20 (מקום שלישי) מקבל נקודה אחת. התהליך מסתיים כאשר שופט מוסר למארגני הטקס את הפתק של שלושה אפסים (0,0,0). בסוף הטקס מכריזים על "שיר השנה" — השיר שזכה במספר הגדול ביותר של נקודות. נתונה מחלקה Main לניהול הטקס והצגת תוצאתו:

סעיף א

הגדירו את המחלקה Ceremony. בחרו את התכונות של המחלקה וכתבו פעולה בונה.

סעיף ב

כתבו במחלקה Ceremony את הפעולה doChoices(). הפעולה תקלוט בחירות של השופטים: שלושה מספרים שלמים בין 1-30 (כולל) עד שייקלטו שלושה אפסים, ומעדכנת את מספר הנקודות של כל שיר. אפשר להניח שהקלט תקין ואין צורך בבדיקת תקינות הקלט.

public void DoChoices()

סעיף ג

כתבו פעולה winner() המחזירה את מספר "שיר השנה" (השיר שזכה במספר הגדול ביותר של הנקודות). אפשר להניח שיש רק שיר אחד כזה.

public int Winner()

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

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

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

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