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

מדד איכות האוויר (Air Quality Index - AIQ) משמש להערכה רמת הזיהום של האוויר באזורים שונים של הארץ. מדד AIQ הוא מספר שלם שנע מ-0 ל-500. המשרד לאיכות הסביבה מפרסם כל יום "מפת זיהום ארצית" הכוללת נתונים של רמת הזיהום ביישובים שונים. לשם כך פיתחו מתכנתי המשרד מחלקה AIQData. למחלקה ארבע תכונות:

  • תאריך – date, מטיפוס מחרוזת, str
  • שם היישוב – city, מטיפוס מחרוזת, str
  • מספר תושבים – popul, מטיפוס מספר שלם, int
  • מדד איכות האוויר – aiq – מטיפוס שלם, int
סעיף א

כדי להעלות את מודעות האוכלוסייה הרחבה להשלכות הבריאותיות של זיהום האוויר, הוחלט במקום לפרסם מדד מספרי מדויק, לפרסם "דירוג" לפי הכלל הבא:

ערך AIQ0-4950-99100-149150-199200-500
הסברטובמתוןלא בריא לקבוצות רגישותלא בריאמסוכן
דירוג12345

כתבו פעולה פנימית במחלקה AIQData המחזירה דירוג לפי מדד איכות האוויר. כותרת הפעולה: raiting(self)

סעיף ב

כתבו פעולה המקבלת רשימת נתונים של איכות האוויר arr (רשימת הפניות לעצמים מטיפוס AIQData) ותאריך מסוים check_date. על הפעולה להדפיס שמות של כל היישובים שאיכות האוויר בתאריך זה הייתה "לא בריאה" או "מסוכנת". חובה להשתמש בפעולה שכתבתם בסעיף א'. כותרת הפעולה: print_dangerous(arr, check_date)

סעיף ג

כתבו פעולה המקבלת רשימת נתונים של איכות האוויר arr (רשימה הפניות לעצמים מטיפוס AIQData) ורשימה שמות יישובים cities. הפעולה תחשב ותדפיס עבור כל יישוב כמה פעמים איכות האוויר הייתה "טובה" וכמה פעמים היא הייתה "מסוכנת". כותרת הפעולה: print_cities(arr, cities)

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

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

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

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