jueves, 20 de enero de 2011

Sentencias de Control de KAREL 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: if iterate if/else while Siempre a continuación de las sentencias de control y después de la expresión booleana, se debe colocar una llave que abre "{" para iniciar el grupo de sentencias a ser realizado. El grupo de sentencias va seguido de una llave que cierra "}". Utilizamos el par "{ }" para un sólo parámetro o para varios, no importa el número de ellos. El compilador devolverá una advertencia en caso de que no se siga este estilo. La sentencia if En el Ejercicio 1 asumimos que Karel estaba orientado hacia el Este. ¿Y si supiéramos que cuando se inicia está orientado hacia el Oeste o hacia el Sur ? A veces necesitaremos girar primero tres veces, y a veces no. En este caso, la sentencia de control if es lo que necesitamos en nuestro programa. Aquí hay un ejemplo de como se debe escribir: ... if (facingSouth) { turnleft(); turnleft(); turnleft(); } ... Las líneas " ... " significan que pueden haber otras sentencias antes o después de la sentencia if. Nos da igual en esta explicación ya que no hay restricciones en cuanto a lo que hay antes o después de la sentencia if. La forma más general de la sentencia if es: ... if (xxx) { yyy } ... donde xxx es una condición y yyy es cualquier número de sentencias a ejecutar si la condición if es verdadera.

miércoles, 1 de diciembre de 2010

karel`s

Introducción
El robot Karel es una herramienta de aprendizaje que presenta los conceptos de programación de una forma visual además de tener un nivel de abstracción bajo. El robot Karel fue introducido por Richard Pattis en 1981, en el libro “Karel the Robot: A Gentle Introduction to the Art of Programming with Pascal, John Wiley & Sons, Inc.”
El mundo de Karel
Karel puede orientarse en una de las cuatro direcciones: Este, Oeste, Norte y Sur. Sólo gira 90# cada vez. En el mundo de Karel, las calles van de sur a norte, y son numeradas comenzando por 1. No hay números de calle igual a 0 o negativos. Las avenidas van de oeste a este, y también están numeradas empezando por 1. Tampoco hay números de avenida igual a 0 o negativos. Se le llama esquina a la intersección de una calle con una avenida. Karel va de una esquina a la siguiente en un solo movimiento.
En el mundo de Karel sólo existen los muros (entre una esquina y otra, vertical u horizontal), y los zumbadores. Un zumbador es una marca que Karel puede escuchar sólo cuando se encuentra en la misma esquina que el zumbador. Karel tiene una mochila que puede utilizar para poner los zumbadores que va recolectando o dejando. Es posible ajustar el número inicial de zumbadores en la mochila.

Comandos básicos de Karel
Hay cinco comandos básicos para Karel, estos son:
<instrucciones>
1. avanza (avanza una esquina)
2. gira-izquierda (gira a la izquierda)
3. coge-zumbador (recoge un zumbador)
4. deja-zumbador (deja un zumbador)
5. apagate (desconecta al robot)
También se consideran instrucciones a las sentencias de control.
Karel no realizará una acción que no sea exitosa, es decir, el robot no avanzará si tiene una pared enfrente o no recogerá un zumbador si no lo hay en esa esquina. Cuando el robot no realiza una acción envía una notificación al programador y se detiene la ejecución del programa.
Iniciar-programa
Inicia-ejecucion
<instrucciones>
apagate;
termina-ejecucion
finalizar-programa

Ejemplo:

Programa Muestra
iniciar-programa
inicia-ejecucion
gira-izquierda;
apagate;
termina-ejecucion
finalizar-programa