El curioso mundo de Karel el Robot: PARTE 1


Había una vez, no hace mucho tiempo, un robot azul llamado Karel. Karel vivía en un inmenso mundo blanco y gris, dividido en calles y avenidas hasta donde alcanzaba la vista. Desconcertado, no sabía qué hacer o a donde ir. Nosotros debemos ayudarlo…

[…]

Karel es una aplicación sencilla de software que nos permite programar a esta aventurera flecha azul a resolver diversos problemas y enigmas. Es ideal como introducción a la programación para los jóvenes que se sientan interesados por esta área, y es uno de los tres lenguajes oficiales que se usan en las Olimpiadas de Informática en México, por lo que puede ser descargado en su página oficial, siguiendo el enlace de la cabecera. Rrecomiendo tener abierto Karel mientras leen este artículo para repasar. Su interfaz gráfica es muy simple, sin embargo escribiré un artículo dedicado a ello en otra oportunidad.

El mundo de Karel es una extensa área atravesada por calles y avenidas (100 avenidas X 100 calles), en la cual Karel se podrá desplazar para desempeñar sus actividades. En este mundo existen pequeños objetos verdes llamados «zumbadores» (beepers en inglés), los cuales Karel puede guardar en una «mochila» que lleva consigo, o dejarlos en su posición. También puede haber muros que corten el camino de nuestro robot.

Mundo de Karel

Karel puede ser programado en estructura Java o Pascal. En este blog, utilizaré Java. Recuerden que toda instrucción siempre terminará en punto y coma (;).

Karel es tonto. Es tan tonto que sólo puede realizar 5 operaciones básicas:

  • move();.- Karel se mueve una casilla hacia la dirección en la que está mirando, y le valdrá cacahuate si hay pared o no delante.
  • turnleft();.- Karel volteará hacia su izquierda 90º. No puede dar vuelta a la derecha.
  • pickbeeper();.- Karel recoge un beeper en su posición actual (le valdrá cohete si hay beeper o no).
  • putbeeper();.- Karel tomará un beeper de su mochila y lo pondrá en su ubicación actual. Igual que antes, le valdrá un cuerno si tiene o no beepers en la mochila.
  • turnoff();.- Una vez realizada la misión, es hora de descansar. Karel se apagará y terminará la ejecución del código.

Como pueden ver, también es tan tonto que realizará la instrucción sin vacilar. Hará exactamente lo que le digamos, aunque no sea posible. Allí es cuando entran los errores de ejecución. Existen 3:

  • Karel quiso pasar a través de una pared.
  • Karel quiso dejar beepers pero no tenía.
  • Karel quiso recoger beepers donde no había.

Cualquiera de estos tres errores dan como resultado una terminación anormal del programa. Ccualquier código que termine con así es incorrecto.

Ya aclarados estos puntos, es hora de ver algo de código. Escriban el siguiente código en Karel: avanza dos casillas, da dos vueltas a la izquierda y se apaga:

class program {

program() {
move();
move();
turnleft();
turnleft();
turnoff();
}

El código comenzará a ejecutarse desde program(); y se detendra cuando lea la instrucción turnoff(); o cuando Karel realice una operación inválida.

Resumiendo:

  • Karel es un entorno de software que nos permite programar a Karel para que resuelva diversos problemas y acertijos.
  • El mundo de Karel consta de calles y avenidas. Puede haber beepers que puede recoger o poner, y muros que restrinjan su movimiento.
  • Karel cuenta con 5 instrucciones básicas:
    • move();.- Avanza una casilla.
    • turnleft();.- Gira 90º a la izquierda.
    • pickbeeper();.- Recoge un beeper.
    • putbeeper();.- Coloca un beeper.
    • turnoff();.- Termina la ejecución.
  • Existen 3 errores:
    • Karel quiso pasar a través de una pared.
    • Karel quiso dejar beepers pero no tenía.
    • Karel quiso recoger beepers donde no había.

Es todo por hoy, esperen la segunda parte, donde trataremos las sentencias de control: una forma de hacer a Karel más inteligente : D.

Sayoonara.

_______________________________________________

«Era una señora tan gorda, pero tan gorda, que cuando se pesaba, la báscula le indicaba, «por favor, una persona a la vez».

Publicado en Karel | Deja un comentario

¡Hola mundo!

Hola, hola… probando, 1, 2 3…

Bien, creo que lo estoy dominando… xD.

Buenos días, tardes, noches a todo aquel que entre a este rincón de Internet olvidado por Dios. El objeto del presente blog consistirá en informarlos de variedad de temas referentes al entorno de programación Karel. Pero si me dedico únicamente a escribir de programación los aburriría, ¿verdad?… Está bien. Conforme pase el tiempo, escribiré de otros temas, como… Internet, tecnología y cosas varias, como la Olimpiada Mexicana de Informática, a la cual le dedicaré un artículo completo cuando tenga ganas :P.

Para finalizar, espero que este blog pueda prosperar con el tiempo y ayude a gente que lo necesite, especialmente a jóvenes interesados en Karel.

Au revoir.
PD: Cualquier comentario ofensivo o con ánimos de trolleo será inmediatamente borrado. Gracias por su comprensión ^^.

Publicado en Sin categoría | 1 Comentario