KAREL EL ROBOT
Que es Karel???
Primero que nada Karel ha sido nombrado en honor del dramaturgo checoslovaco Karel Capek, quien popularizo la palabra “robot” en su obra R.U.R. (Rossum’s Universal Robots) y la palabra robot se deriva de la de la palabra checoslovaca “robota” que significa “trabajo forzado”.
Karel el Robot es una aplicación sencilla de software que consta de un simulador de robot integrado rayados para probar instrucciones de programación en lenguaje Karel+. Karel el Robot es comúnmente utilizado como una introducción simple a la programación para estudiantes de cómputo, pues aunque su lenguaje no es como el utilizado en realidad para programar, provee bases fuertes sobre lo que significa diseñar un programa de instrucciones aplicable a situaciones variables.
Este simulador interactúa en un mundo virtual, el cual consiste de una cuadrícula delimitada en donde el robot, generalmente representado por una flecha, es libre de moverse.
Pero yo les hablare de cómo es él en su mudo virtual y como es su mundo.
Bien, Karel es un robot móvil: puede moverse hacia adelante, en la dirección hacia la cual esta volteando y puede dar la vuelta en su lugar. También puede percibir el entorno que lo rodea: Karel posee rudimentarios sentidos de la vista, el sonido, la dirección y el tacto.
Karel tiene la habilidad de escuchar un zumbador, pero solamente si ambos están en la misma esquina; el sonido emitido por los zumbadores es muy tenue. Al consultar su brújula interna, Karel puede determinar la dirección a la que esta volteando. Finalmente, Karel esta equipado con un brazo mecánico con el cual puede levantar y bajar los zumbadores. Para transportar estos zumbadores; Karel emplea una bolsa para zumbadores a prueba de ruido, la cual esta colocada alrededor de su cintura. Karel también puede determinar si esta transportando algún zumbador en esta bolsa tocándola con su brazo.
El mundo de Karel???
Karel vive en un mundo virtual no muy emocionante pero cuenta con la variedad suficiente para permitirle desarrollar ciertas tareas interesantes.
Su mundo es un conjunto de calles por las que el puede desplazarse, contiene objetos especiales que Karel puede sentir y manipular.
Su mundo es un plano con los puntos cardinales comunes (Norte, Sur, Este y Oeste) de otra forma es un mundo de cuadritos grises de 100x100 con los puntos cardinales ya mencionados. El mundo esta limitado en su lado oeste por una pared vertical infinita que se extiende hacia el norte. Hacia el sur su mundo esta limitado por una pared horizontal infinita que se extiende hacia el este. Estas paredes fronterizas están hechas de Neutronio solido un metal impenetrable que impide que Karel caiga por los bordes de su mundo.
A lo largo y ancho del mundo de Karel se encuentran calles horizontales que corren de este a oeste (aproximadamente 150 000 calles) y avenidas verticales que corren de norte a sur (aproximadamente 150 000 avenidas) con intervalos regulares de una cuadra. Una esquina, a la que generalmente se le conoce como esquina de una cuadra, se encontrara en donde se crucen una calle y una avenida. Karel se puede colocar en cualquier esquina y voltear a cualquiera de los puntos cardinales. Tanto las calles como las avenidas están enumeradas haciendo que cada esquina sea identificada en forma única y exclusiva por los números de calle y avenida correspondientes. A la esquina en donde se interceptan la calle uno y la avenida uno se le denomina origen.
Karel no es el único, existen otros dos tipos de objetos que pueden ocupar su mundo.
El primer objeto son las secciones de pared que también están fabricadas de neutronio solido, el metal impenetrable, y pueden ser fabricadas de cualquier longitud que se desee. Están colocadas lateralmente entre esquinas de calles adyacentes, bloqueando efectivamente la trayectoria directa de Karel de una esquina a la siguiente. Las secciones de pared se utilizan para presentar obstáculos que Karel debe evitar o trasponer, tales como vallas o montañas. También pueden construirse cuartos cerrados, laberintos y otras barreras con las secciones de pared.
El segundo tipo de objeto que puede encontrarse en el mundo de Karel es un zumbador. Los zumbadores son pequeñas bolas de plástico que emiten un sonido suave intermitente. Están colocados en las esquinas y pueden ser levantados, transportados y bajados por Karel. Algunas de las tareas de Karel incluyen levantar o colocar ciertos modelos hechos a base de zumbadores, o encontrar y transportar estos zumbadores.
Aplicaciones del programa Karel
La verdad no se a que se refiera con aplicaciones del programa Karel pero yo pondré algunas de las instrucciones que se utilizan para manejarlo:
Instrucciones primitivas
INSTRUCCION | DESCRIPCION |
1) Muévete | Karel se mueve una cuadra hacia adelante |
2) Gira a la izquierda | Karel gira 90° a la izquierda |
3) Levanta zumbador | Karel coloca un zumbador en su bolsa para zumbadores |
4) Coloca zumbador | Karel coloca un zumbador en la esquina |
5) Apágate | Karel se apaga a si mismo |
Instrucción para estructuración de bloques
6) BEGIN
< instrucción >;
< instrucción >;
. .
. .
< instrucción >;
< instrucción >;
END
Instrucciones condicionales
7) IF < prueba >
THEN <instrucción>
8) IF < prueba >
THEN <instrucción>
ELSE <instrucción>
Instrucciones interativas
9) INTERATE < numero positivo > TIMES
< instrucción >
10) WHILE < prueba > DO
< instrucción >
Mecanismo para definición de nuevas instrucciones
11) DEFINE-NEW-INSTRUCTION < nuevo nombre > AS
< instrucción >
Especificación de un programa completo
12) BEGINNING-OF-PROGRAM
DEFINE-NEW-INSTRUCTION < nuevo nombre > AS
< instrucción >;
.
.
.
DEFINE-NEW-INSTRUCTION < nuevo nombre > AS
< instrucción >;
BEGINNING-OF-EXECUTION
< instrucción >;
. .
. .
. .
< instrucción >
END-OF-EXECUTION
END-OF-PROGRAM
Palabras entre corchetes
PALABRA EN CORCHETES | DESCRIPCION |
1) < instrucción > | Cualquiera de las instrucciones del robot (1-10) |
2) < nuevo nombre> | Cualquier palabra nueva (en minúsculas, números, “-”) |
3) < numero positivo > | Cualquier numero positivo |
4) < prueba > | Cualquiera de las siguientes: frente-despejado, frente-bloqueado izquierda-despejado, izquierda-bloqueado derecha-despejado, derecha-bloqueado junto-a-un-zumbador, no-junto-a-un-zumbador hacia-el-norte, no-hacia-el-norte hacia-el-sur, no-hacia-el-sur hacia-el-este, no-hacia-el-este hacia-el-oeste, no-hacia-el-oeste con-zumbadores-en-bolsa-para-zumbadores sin-zumbadores-en-bolsa-para-zumbadores |
