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

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

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

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

מאפייני השפה[עריכת קוד מקור | עריכה]

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

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

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

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

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

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

מילות פקודה בסיסיות[עריכת קוד מקור | עריכה]

Logo turtle graphic
  • נקה מסך - 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

במערכת החינוך בישראל[עריכת קוד מקור | עריכה]

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

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


לקריאה נוספת[עריכת קוד מקור | עריכה]

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

קישורים חיצוניים[עריכת קוד מקור | עריכה]