Karel (lenguaje de programación)


De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Karel es un lenguaje de programación educativo para principiantes, creado por Richard E. Pattis en su libro Karel The Robot: A Gentle Introduction to the Art of Programming . Pattis usó el idioma en sus cursos en la Universidad de Stanford , California . El idioma lleva el nombre de Karel Čapek , un escritor checo que introdujo la palabra robot en su obra RUR [1] [2]

Principios

Un programa en Karel se utiliza para controlar un robot simple llamado Karel que vive en un entorno que consta de una cuadrícula de calles (izquierda-derecha) y avenidas (arriba-abajo). Karel entiende cinco instrucciones básicas: move(Karel se mueve un cuadrado en la dirección en la que está mirando), turnLeft(Karel gira 90 ° a la izquierda), putBeeper(Karel pone un beeper en el cuadrado en el que está parado), pickBeeper(Karel levanta un beeper del cuadrado está parado en), y turnoff(Karel se apaga, el programa termina). Karel también puede realizar consultas booleanas sobre su entorno inmediato, preguntando si hay un buscapersonas donde está parado, si hay barreras a su lado y sobre la dirección a la que se enfrenta. Un programadorpuede crear instrucciones adicionales definiéndolas en términos de las cinco instrucciones básicas, y utilizando sentencias de flujo de control condicional ify whilecon consultas de entorno, y utilizando la iterateconstrucción. [ cita requerida ]

Ejemplo

El siguiente es un ejemplo simple de la sintaxis de Karel:

INICIO DE PROGRAMA
  DEFINIR turnRight COMO COMENZAR Gire a la izquierda; Gire a la izquierda; Gire a la izquierda; FIN
  INICIO DE EJECUCIÓN ITERAR 3 VECES COMENZAR Gire a la derecha; moverse FIN apagar FIN DE EJECUCIÓN
 
FIN DE PROGRAMA

Variantes y descendientes

El lenguaje ha inspirado el desarrollo de varios clones y lenguajes educativos similares. Como el idioma está destinado a principiantes, existen variantes localizadas en algunos idiomas, especialmente el checo (el lenguaje de programación era bastante popular en Checoslovaquia ).

Los principios de Karel se actualizaron al paradigma de programación orientada a objetos en un nuevo lenguaje de programación llamado Karel ++ . Karel ++ se basa conceptualmente en Karel, pero utiliza una sintaxis completamente nueva, similar a Java .

Una implementación de REALbasic, rbKarel, [3] proporciona los comandos básicos de Karel dentro de un entorno RBScript con sintaxis BASIC que se usa para bucles y condicionales. Este proyecto de enseñanza proporciona una interfaz gráfica de usuario multiplataforma para los experimentos de Karel que incluyen resultados de un solo paso y hablados.

Un lenguaje y un entorno inspirado en Karel llamado Robot Emil [4] utiliza una vista en 3D del mundo del robot. Robot Emil ofrece una gran paleta de objetos que se pueden colocar para representar paredes, ventanas (transparencia), agua y césped. La cámara se puede mover libremente por el entorno 3D. El robot se puede controlar de forma interactiva con botones en la GUI o mediante programas escritos en el lenguaje de programación similar a Karel de Emil. El autor afirma que el programa es gratuito para las escuelas, los estudiantes y los niños. Las versiones están disponibles en inglés , checo y eslovaco .

Un lenguaje propietario que también se llama Karel se utiliza para programar los robots de FANUC Robotics . Sin embargo, FANUC Karel se deriva de Pascal .

El lenguaje también ha sido implementado como Karel the Dog en JavaScript por CodeHS . Similar al lenguaje original, esta implementación presenta a Karel en un mundo de cuadrícula. Los programadores utilizan y se basan en el vocabulario simple de comandos de Karel para realizar tareas de programación. En lugar de poner y recoger buscapersonas, Karel el Perro pone y saca pelotas de tenis.

Una versión alemana de Karel se llama "Robot Karol". [5]

Ver también

  • Lenguaje de programación educativo
  • RoboMind : un entorno de programación alternativo y educativo atractivo
  • RUR-PLE : otra herramienta para "aprender Python" basada en ideas de Karel
  • CodeHS - educación introductoria en ciencias de la computación usando Karel en JavaScript

Otras lecturas

  • Richard E. Pattis. Karel The Robot: Una suave introducción al arte de la programación . John Wiley & Sons, 1981. ISBN  0-471-59725-2 .
  • Joseph Bergin, Mark Stehlik, Jim Roberts, Richard E. Pattis. Karel ++: una suave introducción al arte de la programación orientada a objetos . John Wiley & Sons, 1996. ISBN 0-471-13809-6 . 

Referencias

  1. ^ "¿Quién inventó realmente la palabra 'robot' y qué significa?" . Archivado desde el original el 27 de julio de 2013 . Consultado el 25 de julio de 2013 .
  2. Margolius, Ivan (otoño de 2017) "El robot de Praga" Archivado el 11 de septiembre de 2017 en la Wayback Machine. The Friends of Czech Heritage Newsletter no. 17, págs. 3-6
  3. ^ https://code.google.com/p/rbstuff/wiki/rbKarelOverview
  4. ^ http://www.emil.input.sk/info_en.htm
  5. ^ "Robot Karol - Escape del laberinto | Schülerlabor Informatik - InfoSphere, Informatik entdecken in Modulen für alle Schulformen & Klassenstufen" . schuelerlabor.informatik.rwth-aachen.de . Consultado el 29 de diciembre de 2020 .

enlaces externos

  • Sintaxis de Karel
  • xKarel por R. Dostal y P. Abrahamczik (creado en 1997)
  • Karel por T. Mitchell (creado en 2000)
  • Karel en tiny-c de Lee Bradley (creado en 2013)
  • Karel para iPad de CloudMakers (creado en 2014)
  • Karel en JavaScript por CodeHS
  • Karel en Perl 5 por E. Choroba (creado en 2016)
  • Karel-3D en JavaScript y C ++ (sk) (en) (de) (es) (creado 2017, 2018)
  • Guido van Robot (GvR) - Karel en Python (creado en 2006, 2010)
Obtenido de " https://en.wikipedia.org/w/index.php?title=Karel_(programming_language)&oldid=1015257860 "