לוגו (שפת תכנות)

מתוך המכלול, האנציקלופדיה היהודית
קפיצה לניווט קפיצה לחיפוש

שגיאת לואה ביחידה יחידה:תבנית_מידע בשורה 261: תבנית שפת תכנות ריקה. לוגו היא שפת תכנות חינוכית שפותחה בסוף שנות השישים על ידי ואלי פוירציג וסימור פאפרט במכון הטכנולוגי של מסצ'וסטס (MIT), תוך התבססות על שפת LISP ורעיונותיו של הפסיכולוג ז'אן פיאז'ה.

ציור דמוי כיסא והקוד ליצירתו.

מאפייני השפה

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

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

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

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

מילות פקודה בסיסיות

  • נקה מסך - CLEARSCREEN (בקיצור: CS)
  • זוז קדימה - FORWARD (בקיצור: FD)
  • זוז אחורה - BACK (בקיצור: BK)
  • פנה ימינה - RIGHT (בקיצור: RT)
  • פנה שמאלה - LEFT (בקיצור: LT)
  • הרם עט - PENUP (כלומר שמעתה כל הוראת תזוזה לא תלווה ברישום קו) (בקיצור: PU)
  • הורד עט - PENDOWN (כלומר שמעתה כל הוראת תזוזה תלווה ברישום קו) (בקיצור: PD)
  • חזור פעמים אחדות על ההוראות שבהמשך (לולאה) - REPEAT
  • צב הביתה - home (מחזיר את הצב לנקודת ההתחלה)
  • הראה את הצב - SHOWTURTLE (בקיצור: ST)
  • הסתר את הצב - HIDETURTLE (בקיצור: HT)

דוגמאות

הסימן ; הוא תחילתה של הערה.

דוגמה 1: תוכנית לוגו קטנה לציור ריבוע:

REPEAT 4 [FORWARD 200 LEFT 90] ; square

התוכנית מורה לצב לבצע 4 פעמים את ההנחיה: זוז קדימה 200 פיקסלים ואחר כך פנה שמאלה ב-90 מעלות. הצב מבצע הנחיה זו, תוך שהוא רושם על-גבי המסך את מסלול תנועתו.

דוגמה 2: ציור מורכב יותר מתקבל כאשר הצב מבצע את ההנחיה הקודמת 9 פעמים, תוך שינוי זווית המוצא שלו ב-40 מעלות ימינה בכל פעם:

REPEAT 9 [REPEAT 4 [FORWARD 120 LEFT 90] RIGHT 40] ; flower

דוגמה 3: דוגמה זו ממחישה שלוש תכונות של לוגו:

  • הוספת מילים חדשות לשפה: בדוגמה נוספת לשפה המלה spiral, שמאפשרת ציור ספירלה.
  • העברת פרמטרים
  • רקורסיה, שהמימוש שלה בלוגו טבעי ונפוץ.
TO spiral :size
IF :size > 30 [STOP] ; a stop condition
FORWARD :size RIGHT 15 ; many lines of action
spiral :size *1.02 ; the tailend recursive call
END

לאחר הגדרת המלה החדשה, הפעלתה נעשית באמצעות כתיבתה כהוראה, למשל spiral 10, שתיתן את התוצאה הבאה (המשולש בקצה הספירלה הוא ה"צב", שהוסתר בדוגמאות הקודמות):

דוגמה 3

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

TO factorial :n
IF :n =1 [OUTPUT 1] ; a stop condition
OUTPUT :n * factorial :n-1
END

במערכת החינוך בישראל

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

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

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

לקריאה נוספת

  • אורי לירון, פרלה נשר ורינה צצקיס, מדריך לעסקי צבים - גרפיקה, פתרון בעיות ותכנות מיבני בשפת לוגו, הוצאת BUG מחשבים, 1984.
  • אורי לירון, "לוגו כיום: חזון ומציאות", מעשה חושב, אפריל 1986.
  • צו לצו - עלון אל"י - אגודת לוגו הישראלית, יצא לאור מסוף 1986 ועד 1993.

קישורים חיצוניים

Logo hamichlol 3.png
הערך באדיבות ויקיפדיה העברית, קרדיט,
רשימת התורמים
רישיון cc-by-sa 3.0