lunes, 9 de enero de 2012

Karel?? Qué abominación es eso??

Hola Bloggers y maestro de Informática.

Como primer entrada les hablaré sobre un susodicho programa llamado Karel.

Qué es Karel?
Es un software que sirve para practicar lo básico en cuanto a programación a base de simulación. Las instrucciones las lleva a cabo una flecha azul llamada con el mismo nombre, Karel. Ésta "vive" en un mundo compuesto sólo 100 x 100 de calles [horizontales] y avenidas [verticales] que cruzan en esquinas. Aparte del mundo, en otra pestaña existe un espacio en azul en el que se escriben todas las instrucciones y para funcionar debe ser compilada Karel.

Qué hace Karel? 
Se mueve por su mundo siguiendo instrucciones y recogiendo unos dichosos zumbadores y depósitandolos.

Qué instrucciones usa Karel?
Karel usa dos tipos de instrucciones [Java (en inglés) y Pascal (en español)].

Las principales de Java son:

move: moverse
turnleft: girar a la izquierda
pickbeeper: recoger un zumbador
putbeeper: depositar zumbador
iterate: repetir
define: para crear una nueva instrucción

Condicionales como:

while: siempre que
if: si está en ciertas condiciones
else: si no lo está

Funciones booleanas: 
frontIsClear: frente libre de pared
frontIsBlocked: pared frente
leftIsClear: en el lado izquierdo no existe una pared
leftIsBlocked: en el lado izquierdo existe una pared
rightIsClear: en el lado derecho no existe una pared
rightIsBlocked: en el lado derecho existe una pared
nextToABeeper: existe un beeper donde esta parado
notNextToABeeper: no existe un beeper donde esta parado
facingNorth: esta volteando hacia al Norte
notFacingNorth: no esta volteando hacia al Norte
facingSouth: esta volteando hacia el Sur
notFacingSouth: no esta volteando hacia el Sur
facingEast: esta volteando hacia el Este
notFacingEast:  no esta volteando hacia el Este
facingWest: esta volteando hacia al Oeste
notFacingWest: no esta volteando hacia al Oeste
anyBeepersInBeeperBag: existe algún beeper en la mochila
noBeepersInBeeperBag: no existe algún beeper en la mochila.
*En el caso de la últimas, son muy efectivas cuando se tienen paredes y necesita seguir ciertas condiciones para realizar bien la simulación.
Karel, para ejecutarse, necesita a parte de las instrucciones uso de ciertos símbolos [ () {} && ;] dependiendo de la inicación, por ejemplo para las operaciones más sencillas es así: 
move (); 
pero, por ejemplo, para repetir una instrucción es así: 
iterate (3) { move (); }}
*Cuando te equivocaste en escribir una indicación, la estas usando mal, te sobra o falta un símbolo, Karel te lo informa. 
Una vez que compilaste, debes ir a la pestaña de Ejecutar, en la que al ponerle Correr karel lleva a cabo las instrucciones. Ahí puedes modificar el tiempo de ejecución.
Les adjuntaré unas imagenes de Karel, para que lo identifiquen ;)