מותאם לתוכנית הלימודים
פרק שלישי, חלק שני, כיתה ה'
מעודכן לשנת הלימודים תש"ף
עמודים: 167-172
בתכנית הלימודים
125 דקות מעשי משולב עיוני
פניות: פניה ימינה, פניה שמאלה.
הוראה חד משמעית
בשיעור הקודם למדנו לכתוב אלגוריתם לתנועת הרובוט קדימה ואחורה.
בשיעורים הקרובים נתן לילדים להתנסות בכתיבת אלגוריתם לסיבוב לימין ולסיבוב לשמאל.
בנוסף נלמד על הוראה חד משמעית וחשיבותה בתחום כתיבת תוכנית קוד.
פתיחת השיעור תהווה גירוי לקראת הבנת נושא השיעור – פניות
אנו רוצים שהילדים יגיעו להבנה שעל מנת לגרום לרובוט לפנות צריך להניע רק מנוע אחד או להניע שני מנועים במהירויות שונות.
בפרק הבא נדון על סוגי פניות להנעת הרובוט בהתאם לנתוני הסביבה והמטרות.
המורה ישאל את התלמידים אם למישהו יש רעיון כיצד ניתן לגרום לרובוט להסתובב. נאסוף את תשובות הילדים ולאחר מכן נדגים להם פיסית בעזרת הרובוט.
לדוגמא אם אחד הרעיונות יהיה הנעת גלגל אחד בלבד, ניקח את הרובוט, נאחז את הגלגל השמאלי (המחובר למנוע B) ונסיע אותו בעזרת הגלגל השני. הילדים יראו שהרובוט מסתובב לכיוון שמאל, כיוון הגלגל אותו אנו אוחזים ומונעים ממנו לנוע. לאחר מכן נאחז את הגלגל הימני (המחובר למנוע C). הילדים יראו שעתה הרובוט פונה לכיוון ימין, כיוון הגלגל אותו אנו אוחזים ומונעים ממנו לנוע.
הצעה אחרת אפשרית- הנעת שני הגלגלים במהירויות שונות- גם כאן ננסה להדגים בעזרת הנעה ידנית של הרובוט. הילדים יראו בהדגמה לאיזה כיוון הרובוט נע כשמהירות אחד הגלגלים מהירה יותר מהשני.
הצעה אפשרית נוספת- הנעת גלגל קדימה וגלגל לאחור- גם הצעה זאת ניתנת להדגמה ידנית.
שלושת הרעיונות האלה הם בעצם ההכנה לשיעור הבא בו נגדיר כל סוג סיבוב ונבין את יתרונותיו וחסרונותיו.
לאחר שהילדים העלו את הרעיונות להנעת הרובוט בסיבוב, נרשום על הלוח את האלגוריתם הבא:
אלגוריתם לנסיעה קדימה ופניות בנות 90 מעלות לשני הכיוונים.
נבקש מהילדים לתכנת את הרובוט לביצוע אלגוריתם זה.
מצורפת דוגמא לתוכנית אפשרית שהילדים יכולים לתכנת.
שימו לב, מהירות המנוע יכולה להשתנות על פי בחירתם. כדאי להסביר שבסיבוב רצוי להשתמש במהירות נמוכה יותר כדי לדייק בפניה.
הדוגמא שצירפנו כאן היא תכנות הרובוט באמצעות שניות בלבד. הילדים יכולים לבחור לתכנת את הרובוט לנוע באמצעות מעלות סיבוב מנוע או באמצעות סיבובי מנוע. כל האפשרויות הן נכונות, כולל ביצוע פניה באמצעות מנוע אחד בלבד. אם פלט הרובוט תקין תוכנית התלמיד נכונה בשלב זה. בהמשך, כמובן, כשנבצע תוכניות מורכבות יותר, יש מקום לבדוק יעילות הקוד.
תרגול הילדים בכתיבת אלגוריתם ותכנותו בסביבת scratch.
הוראות:
הרובוט שלכם ידליק נורות ירוקות בבקר שלו למשך שניה. הרובוט יכבה את הנורות ולאחר מכן יסע קדימה למשך שניה, יפנה 180 מעלות לכיוון ימין. ידליק נורות אדומות בבקר פועמות. ישמיע צליל עולה ויורד למשך שתי שניות ויחזור על כך פעמיים. אז ינוע לאחור למשך שניה ויעצור. בעת העצירה כל נורות הרובוט צריכות להיות כבויות.
אלגוריתם מילולי:
הוראות חד משמעיות לעומת הוראות מעורפלות- המטרה להכין את הילדים לקראת כתיבת אלגוריתם ברור שיבוצע בהתאם לתוכנית שנכתבה. כדי שזה יקרה ההוראות לרובוט צריכות ברורות ובלתי נתנות לפרשנות נוספת.
הוראה חד משמעית היא הוראה שיש לה אך ורק פרשנות אחת. היא ברורה לחלוטין לכל מי שמקבל אותה.
נעבור עם הילדים על דוגמאות להוראה שהיא חד משמעית והוראה שהיא מעורפלת- הוראה היכולה לקבל מספר משמעויות.
תרגילים נוספים לביצוע בכיתה לתכנות הרוכוט
רשמו את ההוראות על הלוח, בקשו מהילדים לרשום לכל מטלה אלגוריתם מילולי ורק לאחר מכן לפנות לתכנות האלגוריתם.
המשימה- הרובוט ייסע ויצור מעין מספר דמיוני שהקבוצה תקבע.
לדוגמא המספר 1
הרובוט צריך לנסוע ישר ואז להסתובב 135 מעלות שמאלה, זווית חיצונית- הזווית המשלימה ל-180 מעלות. לאחר מכן ינוע קדימה לעוד חצי סיבוב מנוע.
כדאי להסביר לילדים שאפשר ורצוי להשתמש בלולאה חזור במקרה הזה. הציעו לילדים לבדוק מה המרחק שהרובוט נוסע בסיבוב מנוע אחר/שניה אחת/ מעלות מנוע ואז לאחר מדידת צלעות הקופסה לחשב, בדרך מושכלת, את המרחק שהרובוט צריך לעבור בטרם יסתובב 90 מעלות. שימו לב בתוכנית שכתבתנו שבחרנו לנוע במהירות איטית כדי להגדיל את דיוק ביצועי הרובוט.
חזור 2 פעמים:
כדאי להסתכל על המדרגות בתמונה ולזהות אפשרויות תנועה החוזרות על עצמן. זיהוי תבניות חוזרות, יעזור לילדים לכתוב אלגוריתם יעיל יותר לביצוע התכנית.
אלגוריתם-
חזור 2 פעמים: