Miguel de Cervantes y Saavedra - Don Quijote de la Mancha - Ebook:
HTML+ZIP- TXT - TXT+ZIP

Wikipedia for Schools (ES) - Static Wikipedia (ES) 2006
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
לוגו (שפת תכנות) - ויקיפדיה

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

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

ממשק של תוכנת לוגו לחלונות, בחלונית העליונה כתובה השגרה, בתחתונה מריצים אותה בשורת פקודה, ואת התוצאה מקבלים בחלון המרכזי
הגדל
ממשק של תוכנת לוגו לחלונות, בחלונית העליונה כתובה השגרה, בתחתונה מריצים אותה בשורת פקודה, ואת התוצאה מקבלים בחלון המרכזי
Logo turtle graphic
הגדל
Logo turtle graphic

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

תוכן עניינים

[עריכה] מאפייני השפה

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

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

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

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

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

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

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

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

  • ניקוי מסך - CLEARSCREEN
  • קדימה - FORWARD
  • אחורה - BACK
  • פניה ימינה - RIGHT
  • פניה שמאלה - LEFT
  • הרם עט - PENUP
  • הורד עט - PENDOWN
  • חזור פעמים אחדות על ההוראות שבהמשך (לולאה) - REPEAT

[עריכה] דוגמאות

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

דוגמה 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

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

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

[עריכה] קישורים חיצוניים

מיזמי קרן ויקימדיה
ויקיספר ספר לימוד בוויקיספר: לוגו
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com