Karel
Karel Robotul limbaj de programare | |
---|---|
Niki robotul | |
Autor | Richard E. Pattis |
Data de origine | 1981 |
Utilizare | didactică |
Paradigme | Programare orientată pe obiecte |
Influențată de | Pascal |
A influențat | Karel ++ , Unele variante regionale |
Karel este un limbaj de programare conceput pentru a răspunde nevoilor didactice și educaționale, ca un instrument introductiv pentru programarea adresată începătorilor.
Limbajul a fost creat în 1981 de Richard E. Pattis, care și-a definit caracteristicile în cartea sa Karel The Robot: A Gentle Introduction to the Art of Programming și l-a folosit în cursurile sale introductive de la Universitatea Stanford . Este numit după Karel Čapek , scriitorul ceh care a introdus termenul de robot .
Principii de baza
Un program în Karel este utilizat pentru a controla comportamentul unui automat simplu, afișat pe ecran ca un mic robot numit Karel. Robotul se mișcă și acționează într-un mediu care constă dintr-o rețea simplă de stradă (drumuri), orientată orizontal și bulevard (bulevarde), cu orientare verticală.
Karel respectă 5 instrucțiuni de bază:
-
move
(Karel deplasează un pătrat de-a lungul direcției și direcției în care este orientată); -
turnleft
(Karel își rotește orientarea cu 90 ° spre stânga) -
putbeeper
(Karel plasează un beeper peputbeeper
pe careputbeeper
) -
pickbeeper
(Karel scoate un beeper din pătratul în care se află) -
turnoff
(Karel se oprește și capetele de program).
Karel poate efectua și teste booleene asupra mediului înconjurător, returnând informații precum prezența unui bip în poziția ocupată în prezent, prezența obstacolelor în apropiere, direcția în care robotul se confruntă în acel moment. Programatorul poate crea instrucțiuni suplimentare definindu-le în termenii celor cinci instrucțiuni de bază, utilizând while
control al fluxului if
și while
în combinație cu interogări de mediu și utilizând constructul iterate
.
Exemplu
Următorul este un exemplu de sintaxă a lui Karel într-un program complet simplu (simbolul „;” marchează termenul declarației și poate fi omis când instrucțiunea este urmată de un END
. Nu sunt necesare litere majuscule: compilație è minuscule ) . La începutul codului se află definiția unui subrutină directă , obținută prin turnleft
comenzii bas turnleft
. Subrutina este apoi utilizată în corpul programului, delimitat de BEGINNING-OF-EXECUTION / END-OF-EXECUTION :
ÎNCEPUTUL PROGRAMULUI DEFINAȚI dreapta ca ÎNCEPE Viraj la stânga; Viraj la stânga; Viraj la stânga SFÂRȘIT ÎNCEPUTUL-EXECUȚIEI ITERAȚI 3 ORI Obligatoriu Dreapta; mutare; opriți SFÂRȘITUL EXECUȚIEI SFARSITUL PROGRAMULUI
Variante și descendenți
Limbajul a inspirat crearea și dezvoltarea diverselor clone sau limbaje conexe, din nou în scopuri educaționale. Deoarece limba este destinată începătorilor, există variante locale ale acesteia în unele limbi, inclusiv limba cehă (Karel s-a bucurat de o oarecare popularitate în Cehoslovacia ). Versiunea slovacă , numită Robot Karol ++ , conține îmbunătățiri suplimentare și a fost la rândul său tradusă în engleză , germană și cehă .
Versiuni orientate obiect
Principiile de bază ale Karel au fost actualizate la paradigma de programare orientată obiect într-un nou limbaj numit Karel ++ . Conceptual, Karel ++ se bazează pe Karel, dar folosește o sintaxă complet nouă, similară cu cea a Java .
rbKarel
rbKarel este o implementare a Karel în REALbasic [1] : rbKarel oferă comenzi de bază Karel într-un mediu RBScript folosind sintaxa BASIC pentru bucle și condiționare. Acest proiect educațional oferă o interfață grafică de utilizator pe mai multe platforme pentru experimentele Karel, inclusiv un singur pas și ieșire vocală .
Robot Emil
În 2008 , a apărut programul educațional Robot Emil, o variantă 3D a Robot Karel. Robotul Emil acționează într-o cameră cu trei dimensiuni, prezentată printr-o vedere de tip cameră, astfel încât se adaugă caracteristici interesante, cum ar fi posibilitatea de a privi scena din unghiuri și distanțe diferite, este posibil să rotiți perspectiva, să urmăriți activitatea robotului în detaliu etc. Robotul poate amplasa cărămizi de formă și culoare la alegere, poate picta pereții și podeaua cu culori mozaic, poate crea uși și tuneluri prin pereți construiți din cărămizi, poate deschide ferestre (folosind cărămizi transparente), poate construi tavanul (folosind acoperișul cărămizi în formă), iarbă, cărări, iazuri (prin vopsirea plăcilor. Această implementare oferă o gamă largă de mijloace pentru a stimula creativitatea copiilor, facilitând gândirea lor algoritmică și imaginația spațială, în timp ce le învață elementele de bază. programare.
Versiunea originală este în slovacă, dar din 2009 există versiuni în cehă și engleză.
FANUC Karel
În ciuda omonimiei, FANUC Karel nu are nicio relație cu Karel: este, în acest caz, un limbaj proprietar născut în domeniul industrial. Limbajul nu derivă din Karel ci direct din Pascal și este dedicat programării roboților comerciali produși de FANUC Robotics .
Notă
Bibliografie
- Richard E. Pattis, Karel Robotul: o introducere blândă a artei de programare . John Wiley & Sons , 1981 ISBN 0-471-59725-2
- Joseph Bergin, Mark Stehlik, Jim Roberts, Richard E. Pattis, Karel ++: A Gentle Introduction to the Art of Object-Oriented Programming , John Wiley & Sons, 1996 ISBN 0-471-13809-6
Elemente conexe
- Karel ++ - mediu Karel orientat pe obiecte
- Guido van Robot - Instrument educațional pentru învățarea Python folosind robotul Karel
- Limbaj de programare educațional
- Logo (informatică)
Alte proiecte
- Wikimedia Commons conține imagini sau alte fișiere despre Karel
linkuri externe
- Sintaxa Karel , pe mormegil.wz.cz .
- xKarel , la xkarel.sourceforge.net .
- Robot Emil 3D (limbaj de programare în scopuri educaționale)