לוגו (שפת תכנות)
מתוך ויקיפדיה, האנציקלופדיה החופשית
לוגו היא שפת תכנות שפותחה בסוף שנות השישים על ידי ואלי פוירציג וסימור פאפרט במכון הטכנולוגי של מסצ'וסטס (MIT), תוך התבססות על שפת LISP ורעיונותיו של הפסיכולוג ז'אן פיאז'ה.
תוכן עניינים |
[עריכה] מאפייני השפה
ההגדרה המיידית שנותנים חובבי המחשב (וגם רבים מאנשי המקצוע) לשפת לוגו היא "שפת מחשב לילדים". התמונה שמצטיירת בעקבות הגדרה זו היא כאילו מדובר בצעצוע, ולא כך הדבר. שפת לוגו היא שפת תכנות "בוגרת", שמצטיינת במאפיינים רבים שניתן למצוא רק בשפות תכנות מתקדמות, ולא ניתן למצאם בשפות התכנות הנפוצות.
פיתוח שפת לוגו הונחה על ידי תפישת עולם חינוכית שניתן לראותה כמהפכנית, בכל הקשור לבתי-ספר בכלל, ולמחשבים בחינוך בפרט. ביישום המקובל של למידה ממוחשבת משמש המחשב כתחליף למורה: המחשב מלמד את התלמיד (מתמטיקה, אנגלית וכו'). בלוגו מלמד התלמיד את המחשב, ובכך מפתח את יכולתו וידיעותיו.
ללוגו, כמו לכל שפת תכנות, אוצר מילים שמורות, שבאמצעותו נכתבות התוכניות. בלוגו, תכנות פירושו הרחבת אוצר המילים של השפה. המשתמש מלמד את המחשב בהדרגה מושגים חדשים, שמאפשרים את הגשמת מטרתה של התוכנית. הדבר נעשה באופן דומה להגדרת פונקציות (פרוצדורות, סברוטינות או מתודות) בשפות תכנות אחרות, אבל בלוגו מושם דגש על "לימוד" המחשב. בניגוד למקובל בשאר שפות התכנות, כל מושג נערך בדרך כלל בנפרד, בעורך ייעודי.
דוגמה: יש לכתוב תוכנית שמטרתה לצייר שכונת מגורים. אוצר המילים הבסיסי (השמורות) של לוגו כולל, בין השאר, הוראות לציור קטע ישר והוראות לפנייה ימינה או שמאלה בזווית נדרשת. באמצעות אוצר מילים מינימלי זה נלמד תחילה את המחשב לצייר ריבוע, מלבן ומשולש. בהמשך נלמד את המחשב לצייר בית שמורכב מהצורות הללו, ולבסוף ילמד לצייר שכונה שמורכבת מבתים אחדים. פעולת התכנות בצורה זו נעשית אנושית יותר, וניטלים ממנה התחכום הטכני והמוזרות שמאפיינים שפות תכנות נפוצות.
כפי שניתן לחוש מדוגמה זו, שפת לוגו כוללת יכולת גרפית המאפשרת לצייר באמצעותה, בקלות יחסית, רישומים מורכבים ומרהיבי עין. יכולת גרפית זו, שהיא מסימני ההיכר הבולטים של לוגו, נוספה לשפה בשלב מתקדם של פיתוחה, וזאת כדי לאפשר שימוש בשפה באמצעות כלי פשוט, שמוכר היטב גם לילדים (וגם למבוגרים חסרי רקע מתמטי). הציור נעשה באמצעות "צב", שהיה בתחילה חפץ מכני דמוי צב, והפך במהרה לצב סמלי, המיוצג על ידי חץ משולש על מסך המחשב.
מבחינת התפתחותה של לוגו קדמה ליכולת הגרפית של השפה היכולת המתמטית שלה ויכולתה לעבד מחרוזות של מילים, כלים רבי עוצמה אך לא מוכרים למרבית הילדים (וגם לא למרבית המבוגרים).
עיבוד מחרוזות (list processing) מאפשר לתוכנית לעסוק בפעולות אינטליגנטיות כגון חיבור שירים, תרגום, ניהול שיחה עם אדם וכדומה. שפות בעלות כלים לעיבוד מחרוזות משמשות כלי עיקרי לכתיבת תוכניות העוסקות בבינה מלאכותית.
[עריכה] מילות פקודה בסיסיות
- נקה מסך - 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, שתיתן את התוצאה הבאה (המשולש בקצה הספירלה הוא ה"צב", שהוסתר בדוגמאות הקודמות):
דוגמה 4: דוגמה זו ממחישה מעט מהיכולת המתמטית של לוגו, באמצעות יצירת מילה לחישוב הפונקציה עצרת, על-פי הגדרתה הרקורסיבית של פונקציה זו.
TO factorial :n
IF :n =1 [OUTPUT 1] ; a stop condition
OUTPUT :n * factorial :n-1
END
[עריכה] במערכת החינוך בישראל
פרק זה לוקה בחסר. אתם מוזמנים לתרום לוויקיפדיה ולהשלים אותו. ראו פירוט בדף השיחה.
השפה הובאה לישראל על ידי פרופ' אורי לירון שחזר משבתון בבוסטון. פרופ' לירון הקים בישראל גם את אל"י - אגודת לוגו הישראלית, וכתב את ספרי הלימוד הראשונים של לוגו בעברית (יחד עם פרופ' רינה צצקיס ופרופ' פרלה נשר).
[עריכה] לקריאה נוספת
- אורי לירון, פרלה נשר ורינה צצקיס, מדריך לעסקי צבים - גרפיקה, פתרון בעיות ותכנות מיבני בשפת לוגו, הוצאת BUG מחשבים, 1984.
- אורי לירון, "לוגו כיום: חזון ומציאות", מעשה חושב, אפריל 1986.
- צו לצו - עלון אל"י - אגודת לוגו הישראלית, יצא לאור מסוף 1986 ועד 1993.
[עריכה] קישורים חיצוניים
| מיזמי קרן ויקימדיה |
|---|
| שפות תכנות | ||
|---|---|---|
|
