06 septiembre 2007

Karel, el robot misterioso...

Al leer este título tal vez te estés preguntando ¿qué #$!¡@ es Karel? ¿Por qué es interesante conocerlo? Espera un segundo, y lo verás (espero :S).

Karel el robot es un lenguaje de programación que no tiene ningún fin práctico, es decir, no voy a usar Karel para hacer un sistema de bases de datos para una empresa, ni nada de ese estilo. Sin embargo es un simulador de un robot que usa instrucciones muy sencillas y bien estructuradas que lo hacen muy útil para agarrar la onda acerca de la programadera. Yo lo he visto útil para desarrollar la lógica necesaria para resolver problemas con la computadora.

Karel es un robot que vive en su propio mundo (bueno, también conozco a muchas personas que también viven en su propio mundo, pero no voy a platicar de eso hoy...). En este mundo virtual solamente existen los siguientes elementos:
  • Calles (horizontales) y avenidas (verticales) que cruzan en esquinas.
  • Paredes impenetrables que se pueden colocar entre dos esquinas.
  • Zumbadores. No sé realmente lo que son, pero son objetos que se colocan en las esquinas para que Karel los recoge y los guarde en su mochila. Siendo creativos, puedes usarlos para hacer sumas, restas, etc.
  • Karel, el héroe de la historia. Este supuesto robot (que realmente es una flecha pichurrienta, jeje) carga una mochila del tamaño del mundo entero donde puede almacenar todos los zumbadores que quiera. Siempre se encuentra orientada hacia una de cuatro direcciones (norte, sur, este u oeste, como lo dice una de las canciones favoritas de mi hija que está aquí). Consta de 3 sensores que le permita ver si hay pared o zumbador a su izquierda, derecha o al frente.

La única manera de comunicarse con Karel es por medio de un programa escrito en algo muy similar al español estructurado, por lo que es muy sencillo.

El programa lo puedes descargar aquí. Va a bajar una carpeta comprimida (formato ZIP) con todos los archivos que necesitas. No existe programa de instalación, así que ni te apures. Descomprime la carpeta en tu disco duro y haz un acceso directo del archivo Karel.exe a tu escritorio o menú inicio o donde quieras.

Karel tiene 3 "ambientes" principales:
  • El mundo virtual: es donde puedes posicionar a Karel, colocar zumbadores, poner o quitar paredes, etc. Puedes guardar estos "mundos" en formato MDO para usarlos luego.
  • El ambiente de programación: aquí es donde escribes tu programa usando las instrucciones entendidas por nuestro amigo el robot. Aquí también es donde puedes guardar tu programa (en formato de texto normalazo) y compilarlo. Eso es importante: si no compilas tu programa, no puedes ejecutarlo. Compilar quiere decir que traduce tu código fuente (o sea tu programa escrito en Karel) a un código que entiende la computadora. Al hacer esto también verifica que no tengas errores de sintáxis (o sea, que no te falte un punto y coma, que no hayas escrito avansa en lugar de avanza, etc.) pero no hace nada acerca de errores lógicos (los errores lógicos son los que se dan cuando haces un programa bien escrito que no resuelve el problema que debería resolver).
  • El lugar de ejecución: no, no es aquí donde ejecutan a Karel (estamos en contra de la violencia, jeje), sino que es el lugar donde se ejecuta tu programa en Karel. Está padre porque de un lado ves el código que escribiste y a la derecha está el mundo con Karel. Mientras se ejecuta el programa, se ve una barra que se posa sobre las instrucciones y al mismo tiempo el robot hace lo que allí dice.
Estas son imágenes de estos tres ambientes chiroliros de Karel:

El mundo de Karel como inicia el programa (o sea, sin nada)

El ambiente de programación sin nada


El ambiente de ejecución sin nada

No es mi intención escribir una referencia completa de las instrucciones de Karel porque viene en la ayuda del programa, pero iré poniendo algunos ejemplos para que vayamos agarrando la onda.

El primer programa que voy a mostrar es muy sencillo. Al inicio del programa oriento a Karel hacia el este y quiero que avance hasta toparse con una pared. A su paso quiero que recoja todos los zumbadores que haya en su camino. Con esto quiero mostrar como se usa el ciclo MIENTRAS (o While). Una vez que tope con pared, voy a girarlo hacia la izquierda y que avance 5 esquinas (para mostrar como funcionan los ciclos Repetir o Para [repeat]) recojiendo todos los zumbadores que me encuentre. Una vez que termine, giro a la derecha, avanzo una esquina y dejo todos los zumbadores que llevo cargando.

Este es un mundo que hice como ejemplo. Algo que es muy importante: nunca debes diseñar tu solución en Karel que sea dependiente del mundo que tienes creado. El programa es independiente del mundo y si pongo un mundo diferente al que creaste, debe seguir funcionando. Pero como es el primer programa, supongamos que así está la onda:


Este es el programita que hice. Fíjate que en los ciclos que llevan más de una instrucción, por ejemplo en primero que avanza mientras frente-libre hacer, les ponemos un inicio y fin para delimitar las instrucciones que, en este caso, es otro ciclo mientras anidado (o sea un ciclo en otro ciclo), el mientras junto-a-zumbador hacer, y el avanza.


Aquí pongo un video para que veas como se ejecuta el programa.

Seguimos en contacto. Luego les iré dejando más material, ejercicios, problemas y otros asuntos enigmáticos y paradisiacos. ¡Hasta la próxima!

video

Publicar un comentario
Related Posts Plugin for WordPress, Blogger...