מאגר טיפים להוראת עיצוב תכנה

אתרי אינטרנט ותרומתם להוראת רקורסיה (מגדלי הנוי)

מלכה סולומונוביץ, גן נחום, ראשון לציון

 

איך מתחילים את הוראת הרקורסיה?

איך משכנעים את התלמידים שמנגנון הלולאה המוכר והנוח אינו תמיד הפתרון האפשרי לבעיה?

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

נושא הרקורסיה הוא בהחלט נושא קשה לתלמידים. לנו המורים קשה בתחילת הדרך להסביר לתלמידים "למה זה נחוץ"  כלומר, למה להמיר את מנגנון הלולאה (המוכר והידוע) במנגנון חדש "מסובך להבנה".

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

על מנת להתגבר על קושי זה אני פותחת את נושא הרקורסיה בהצגת בעיית מגדלי הנוי.

"בעיית מגדלי הנוי" היא בעיה טובה מהבחינה שרואים בה איך קשה להתמודד עם בעיה בממדים גדולים ואיך קל למצוא את הפתרון לבעיה במימדים קטנים (n=1, n  מבטא את מספר הטבעות).

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

http://www.lhs.berkeley.edu/Java/Tower/Tower.html

http://thinks.com/java/hanoi/hanoi.htm

http://ipos.p.lodz.pl/zylla/games/hanoi5e.html

 

קל מאד לדון עמם על ה"בעיה בממדים קטנים" –בסיס הרקורסיה (n=1) , שבה כל תלמיד יודע את הפתרון בודאות.

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

 

לאתר עיצוב תכנה

למאגר טיפים בעיצוב תכנה

חזרה