קארל הרובוט

מתוך המכלול, האנציקלופדיה היהודית
קפיצה לניווט קפיצה לחיפוש
קארל
פרדיגמות תכנות פרוצדורלי
תאריך השקה 1981
מתכנן ריצ'רד פטיס
הושפעה על ידי פסקל
השפיעה על קארל++ גווידו וואן רובוט, הרובוט אמיל[1]
http://xkarel.sourceforge.net/eng

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

מטרת השפה

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

עקרונות השפה

שפת קארל משמשת לשלוט ברובוט וירטואלי פשוט שחי בסביבה מתוחמת ובה ניתן להתנייד על גבי רשת שְׁתִי (למעלה ולמטה) וָעֵרֶב (שמאלה וימינה) בלבד. הרובוט מגיב לחמש פקודות בסיסיות:

  • MOVE - קארל יזוז משבצת אחת בלבד בכיוון אליו הוא פונה. במקרה של מחסום תתקבל הודעת שגיאה והתוכנית תפסיק.
  • turnLeft - קארל יפנה את פניו ב-90° שמאלה.
  • putBeeper - קארל יוציא זמזם מן השק שלו ויניח אותו במשבצת בה הוא עומד. ניתן להניח יותר מזמזם אחד. במקרה שהשק ריק תתקבל הודעת שגיאה והתוכנית תפסיק.
  • pickBeeper - קארל ירים זמזם מהמשבצת בה הוא עומד וישים אותו בשק. במקרה ויש במשבצת יותר מזמזם אחד, קארל ירים רק זמזם אחד. במקרה ואין זמזם במשבצת תקבל הודעת שגיאה והתוכנית תפסיק.
  • turnoff - קארל יכבה את עצמו ויסיים את התוכנית.

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

הערות שוליים