Karel es una aplicación que consta de un simulador de robot integrado rayados para probar instrucciones de programación. 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.
¿Cuál es su estructura?
Karel funciona con dos lenguajes que son java y Pascal, el que enunciaré a continuación es Java. La estructura básica de un programa en Karel es:
Class program {
Definición de una nueva instrucción
Program ( ) {
Instrucción a ejecutar
Turnoff ( ); }}
¿Cómo funciona?
Karel basicamente funciona con 5 comandos simples que son:
- Move
- Turnleft
- Pickbeeper
- Putbeeper
- Turnoff
Las sentencias de control se usan para elegir qué hacer, y/o cuantas veces hacerlo. Sin embargo, por si solos no causan que ocurra algo. Simplemente controlan la ejecución de otras sentencias o fragmentos de código. A continuación se lista una serie de sentencias de control de Karel:
¿Qué son y cuáles son las condicionales?
Karel cuenta con tres sensores que son:
Las condicional son las que Karel se pregunta si debe cumplir o no y son:
- If
- Iterate
- If/else
- While
¿Qué son y cuáles son las condicionales?
Karel cuenta con tres sensores que son:
- Sensor óptico
- Sensor auditivo
- Sensor direccional
Las condicional son las que Karel se pregunta si debe cumplir o no y son:
- frontIsClear es verdadero si el frente de Karel esta libre de pared
- frontIsBlocked es verdadero si existe una pared frente a Karel
- leftIsClear es verdadero si en el lado izquierdo de Karel no existe una pared
- leftIsBlocked es verdadero si en el lado izquierdo de Karel existe una pared
- rightIsClear es verdadero si en el lado derecho de Karel no existe una pared
- rightIsBlocked es verdadera si en el lado derecho de Karel existe una pared
- nextToABeeper es verdadero si existe un beeper donde Karel esta parado
- notNextToABeeper es verdadero si no existe un beeper donde Karel esta parado
- facingNorth es verdadero si Karel esta volteando hacia al Norte
- notFacingNorth es verdadero si Karel no esta volteando hacia al Norte
- facingSouth es verdadero si Karel esta volteando hacia el Sur
- notFacingSouth es verdadero si Karel no esta volteando hacia el Sur
- facingEast es verdadero si Karel esta volteando hacia el Este
- notFacingEast es verdadero si Karel no esta volteando hacia el Este
- facingWest es verdadero si Karel esta volteando hacia al Oeste
- notFacingWest es verdadero si Karel no esta volteando hacia al Oeste
- anyBeepersInBeeperBag es verdadero si existe algún beeper en a beeper_bag
- noBeepersInBeeperBag es verdadero si no existes algún beepers en a beeper_bag
Instrucciones if, else y while
If:
Sintaxis:
If (Condición [bloque condicional])
"Instrucción {bloque de instrucciones}
Ejemplo:
If (frontIsClear)
move ();
If (frontIsClear)
{move (); turn left ();}
Else:
Sintaxis:
If (Condición [bloque condicional])
"Instrucción 1 {bloque de instrucciones 1}
Else instrucción 2 {bloque de instrucciones 2}
Ejemplo:
If (frontIsClear)
move ();
Else tun left ();
While:
Sintaxis:
While (Condición [bloque condicional])
"Instrucción {bloque de instrucciones}
Ejemplo:
While (frontIsClear)
move ();
Bloque condicional:
Los boques condicionales son grupos de condiciones que se aplican a una instrucción if o while y deben de ir ligadas con un operador lógico and o or.
Palabras Reservadas:
Define: Para generar una nueva instrucción.
Iterate: Para repetir una instrucción.