לדלג לתוכן

קארל הרובוט

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

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

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

עקרונות השפה

[עריכת קוד מקור | עריכה]

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

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

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

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

[עריכת קוד מקור | עריכה]
ויקישיתוף מדיה וקבצים בנושא קארל הרובוט בוויקישיתוף

הערות שוליים

[עריכת קוד מקור | עריכה]