→ חזרה לעמוד הקודם
// סיכום וחומר לימוד

מערכים עם עצמים, מערך כתכונה במחלקה

יסודות · 899371תכנות מונחה עצמים

תרגול מתקדם: עצמים ומערכים ב-C#

הוראות פיתוח תוך שימוש בהכמסה מלאה (Private Fields) ופעולות ניהול נתונים

דגש פדגוגי וכללי עבודה: כל התכונות במחלקות יוגדרו ברמת גישה פרטית ( private ). הגישה לנתונים תתבצע אך ורק דרך בנאים ופעולות שירות (Methods). יש להקפיד על שמות משמעותיים, בדיקות תקינות אינדקס ומניעת חריגות מערך.

תרגיל 1: דוח ציוני תלמידה (מחלקת StudentReport) מחלקה יחידה + מערך פנימי

במערכת מעקב לימודית נדרש לייצג נתוני ציונים שצברה תלמידה במהלך שנת הלימודים.

שדות פרטיים: מחרוזת studentName עבור שם התלמידה, ומערך מספרים שלמים grades לציונים.

פעולה בונה (Constructor): הפעולה תקבל: שם תלמידה (מחרוזת) וכמות ציונים כוללת (מספר שלם). הפעולה תחזיר: אינה מחזירה ערך. תפקיד הפעולה: לאתחל את שם התלמידה ולהקצות את המערך בגודל המבוקש.

פעולת SetGrade: הפעולה תקבל: אינדקס במערך (שלם) וציון להזנה (שלם). הפעולה תחזיר: אינה מחזירה ערך ( void ). תפקיד הפעולה: לבדוק האם האינדקס תקין ובטווח המערך, ולהציב את הציון במקום המבוקש.

פעולת CalculateAverage: הפעולה תקבל: אין פרמטרים. הפעולה תחזיר: מספר ממשי מסוג double . תפקיד הפעולה: לסכום את כל הציונים במערך ולחשב את הממוצע.

פעולת PrintReport: הפעולה תקבל: אין פרמטרים. הפעולה תחזיר: אינה מחזירה ערך ( void ). תפקיד הפעולה: להדפיס בצורה מסודרת את שם התלמידה, פירוט כל הציונים והממוצע.

תרגיל 2: ניהול מלאי מוצרים (מחלקת Product ותוכנית ראשית) מחלקה + תוכנית ראשית

שדות פרטיים: קוד מוצר (מחרוזת), שם (מחרוזת), מחיר ( double ) וכמות במלאי ( int ).

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

פעולות Get / Set: פעולות גישה לכל שדה (ללא פרמטרים, מחזירות את ערך השדה) ופעולות עדכון (מקבלות ערך חדש, אינן מחזירות ערך).

פעולת GetTotalValue: הפעולה תקבל: אין פרמטרים. הפעולה תחזיר: מספר ממשי מסוג double המייצג את שווי המלאי (מחיר × כמות).

קורס מבוא למדעי המחשב ו-C# | תכנות מונחה עצמים עמוד 1 מתוך 2

המשך תרגיל 2: תוכנית ראשית ופעולות סטטיות (Main) עיבוד מערך עצמים

בתוכנית הראשית ( Main ) יש ליצור מערך של 5 עצמים מסוג Product , לאכלסו בנתונים, ולממש את הפעולות הבאות:

פעולה סטטית FindMostExpensive: הפעולה תקבל: מערך של עצמים מסוג ][Product . הפעולה תחזיר: עצם מסוג Product (או תדפיס ישירות את פרטיו). תפקיד הפעולה: לסרוק את המערך ולאתר את המוצר שמחירו הוא הגבוה ביותר.

פעולה סטטית CalculateTotalInventoryValue: הפעולה תקבל: מערך של עצמים מסוג ][Product . הפעולה תחזיר: מספר ממשי מסוג double . תפקיד הפעולה: לעבור על כלל המוצרים, לקרוא ל- )(GetTotalValue עבור כל אחד, ולהחזיר את הסכום המצטבר של כלל המלאי בחנות.

תרגיל 3 (מאתגר): תחנת מדידת טמפרטורה שבועית שילוב מערך כתכונה ומערך עצמים

תחנה מטאורולוגית מבצעת 3 מדידות יומיות (בוקר, צהריים, ערב) לאורך 7 ימי השבוע.

מחלקת DayWeather:

שדות פרטיים: שם יום (מחרוזת) ומערך ממשי בגודל 3 למדידות חום.

פעולה בונה: הפעולה תקבל: שם יום (מחרוזת) ומערך של 3 מדידות תואמות ( ][double ). הפעולה תחזיר: אינה מחזירה ערך. תפקיד הפעולה: להציב את שם היום ולהעתיק את 3 המדידות למערך הפנימי של האובייקט.

פעולת GetAverageTemp: הפעולה תקבל: אין פרמטרים. הפעולה תחזיר: מספר ממשי מסוג double המייצג את הממוצע היומי. תפקיד הפעולה: לסכום את 3 המדידות הפנימיות ולחלק ב-3.

פעולת GetMaxTemp: הפעולה תקבל: אין פרמטרים. הפעולה תחזיר: מספר ממשי מסוג double המייצג את שיא החום היומי. תפקיד הפעולה: לסרוק את 3 המדידות ולהחזיר את הערך המרבי מביניהן.

דרישות התוכנית הראשית (Main): הגדירו מערך של 7 עצמים מסוג DayWeather (עבור כל ימי השבוע) ואתחלו כל יום בעצם נפרד.

סרקו את המערך ומצאו את היום שבו נרשם הממוצע היומי הגבוה ביותר (הדפיסו את שמו ואת הממוצע שלו). אתרו והדפיסו את הטמפרטורה הגבוהה ביותר שנמדדה אי פעם במהלך השבוע כולו (באמצעות קריאה ל- )(GetMaxTemp ).

קורס מבוא למדעי המחשב ו-C# | תכנות מונחה עצמים עמוד 2 מתוך 2

עכשיו מתרגלים

תרגול בנושא תכנות מונחה עצמים

  1. תרגולתרגול בסיסי מחלקות ועצמים
  2. תרגולתרגול מחלקות ופעולות פנימיות
  3. תרגולתמע תרגול בסיסי
  4. תרגולתרגול תכנות מונחה עצמים מסכם לפרק א
  5. משחק לתרגולמשחק זיכרון-פעולות בונות
  6. משחק לתרגולתרגול הרשאת גישה ופעולות גישה
  7. משחק לתרגולתרגול מסכם-מבוא לתכנות מונחה עצמים
הורדת הקובץ המקוריPDF · מערכים עם עצמים, מערך כתכונה במחלקה