Karel

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - Dacă sunteți în căutarea altor semnificații, consultați Karel (dezambiguizare) .
Karel Robotul
limbaj de programare
NikiExample.jpg
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 pe putbeeper pe care putbeeper )
  • 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

Alte proiecte

linkuri externe