משך: 2 שעות אקדמיות (90 דקות).

מטרת השיעור: הסטודנטים יכתבו פונקציות עם פרמטרים וערכי החזרה, ויבינו למה Overloading קיים.

בסוף השיעור הסטודנטים צריכים: לכתוב פונקציה עם פרמטרים וסוג החזרה נכון, להבדיל בין void לפונקציה עם ערך מוחזר, ולהסביר מתי Overloading משתלם.

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


מהלך השיעור

חלק בשיעורמשךהערות ודגשים
פתיחה וחיבור5 דקותהראו קוד עם אותו חישוב מועתק 3 פעמים
הבעיה: תחזוקת קוד כפול10 דקות“עכשיו יש באג בחישוב — כמה מקומות צריך לתקן?”
הרעיון: פונקציה עם return20 דקותחילוץ הקוד הכפול לפונקציה אחת, קריאה מ-3 מקומות
void מול ערך מוחזר15 דקותהראו את שניהם, הדגישו ש-void לא ניתן לשמירה במשתנה
Overloading20 דקותדוגמת CalculateAverage בשתי צורות
תרגול מודרך20 דקותתרגיל 1+2

דגשים להעברת השיעור

  • ודאו שסטודנטים מבדילים בבירור בין הגדרת הפונקציה (החתימה) לקריאה לה (Call) — בלבול נפוץ אצל מתחילים.
  • “not all code paths return a value” היא שגיאת קומפילציה נפוצה מאוד בהתחלה — שווה להדגים אותה בכוונה (למשל if בלי else בפונקציה שאמורה להחזיר תמיד ערך).
  • Overloading — הדגישו שההבדל חייב להיות במספר או בטיפוס הפרמטרים, לא רק בטיפוס ההחזרה.

מושגים

Method — בלוק קוד עם שם, ניתן לקריאה מכמה מקומות. Parameter — משתנה קלט בהגדרת הפונקציה. Argument — הערך האמיתי שנשלח בקריאה בפועל. Return Value — הערך שהפונקציה מחזירה עם return. void — טיפוס החזרה שמסמן “אין ערך מוחזר”. Overloading — כמה מתודות באותו שם, נבדלות בפרמטרים.


תרגיל חשיבה

שאלת פתיחה: “יש לכם קוד שמחשב ממוצע במקום אחד בקוד. עכשיו צריך לחשב אותו גם במקום שני. מה שתי הדרכים האפשריות, ולמה אחת מהן עדיפה?”

מהלך: צפו לשתי תשובות — “להעתיק-להדביק” ו-“לכתוב פונקציה”. תנו לסטודנטים לנמק למה פונקציה עדיפה (תחזוקה, מקום אחד לתקן, קריאות). הדגישו שהאינטואיציה הזו — “לא לחזור על עצמך” (DRY — Don’t Repeat Yourself) — תחזור לאורך כל הקורס.

מה המרצה מראה בסוף: קחו קוד עם באג בחישוב שמופיע פעמיים (Copy-Paste). “תקנו” את הבאג רק במופע הראשון, והראו שהשני עדיין שגוי — כי הוא עותק נפרד. עכשיו הראו את אותו תיקון על גרסה עם פונקציה אחת — תיקון במקום אחד, שתי הקריאות מתוקנות מיד.