Cristina Suárez
Inf102-1
Clase: 7 de mayo de 2013.
credito de la fotografia
En la clase anterior se discutió los puntos básicos del programa de Karel. En esta clase seguimos viendo diferentes tipos de comandos o instrucciones que se pueden realizar además de los ya discutido. Utilizamos de ejemplo el ejercicio de la escalera donde el robot Karel (la flecha) debe subir tres escalones y recoger el beeper que se encuentra en cada escalón y para finalizar debe bajar. Al hacer este ejercicio con las instrucciones de la clase pasada (move; turnleft; pickbeeper; ) podemos ver que hay que repetir varias veces las mismas instrucciones y esto puede ocasionar alguna confusión. Como estos programas de programación se hacen con el propósito de facilitar estos comando vamos a aprender algunos “shortcuts” que son más sencillos. Tenemos la primera instrucción que es subir el primer es escalón que sería el siguiente:
Este paso se debe repetir tres veces en este ejercicio, pero en vez de escribir todos de nuevo de esta manera se puede crear un bloque de instrucciones. En un bloque de instrucciones uno puede crear una nueva acción y la nombra para identificarla y utilizarla luego. Aquí está el ejemplo de un bloque de instrucciones para girar hacia la derecha haciendo una nueva instrucción llamada “turnright” y se utiliza en este ejemplo para subir un escalón.
Estos bloques de instrucciones nuevas se colocan rápidamente después del “beginning-of-program”. Esto es porque estas instrucciones son definición nueva y deben ir antes del programa poder ejecutarlo.
Como puedes ver a diferencia de las instrucciones de antes ahora al escribir el programa puede ser más claro y se pueden evitar menos errores que pueden suceder cuando los programas son largos. Ahora con estos bloques se pueden realizar otros tipos de acciones. Comenzamos con las estructuras de control que se dividen en repeticiones y condiciones. La repetición es cuando uno quiere que se repita en una cantidad ya determinada una acción. Y se escribe de la forma “Iterate x times” donde x colocas las veces, ejemplo:
Aquí se especifica que se dé tres veces la instrucción de “turnleft;”. Para virar a la derecha se debe escribir tres veces “turnleft;” pero en este caso para lograr esta acción se escribe una sola vez y el “Iterate 3 times” para que se repita la acción tres veces.
Luego tenemos las condiciones donde las instrucciones son oraciones que pueden ser contestadas con un sí o no (cierto o falso). Aquí se encuentra una tabla de diferentes tipos de condiciones que se pueden añadir. Dependiendo de la condición el propósito de ella es si la condición se contesta con un si esta puede seguir con una acción indicada. Si se contesta con un no o falsa la acción no se puede lograr. Un ejemplo, la condición es si al frente de la flecha está bloqueado debe girar hacia la izquierda.
Si es cierto que está bloqueado esta inmediatamente gira hacia la izquierda, si la condición es falsa esta no va a girar hacia la izquierda. Pero en este caso solo se logra una acción. Para cuando uno quiere añadir dos acciones diferentes a una condición entonces utilizaría el “if/then/else statement” que sería el siguiente:
En este caso cuando la condición, que en este caso es “next-to-a-beeper”, si es cierta esta va hacer la acción de coger el beeper (pickbeeper;). Si es falso este se mueve a la acción después del “else” que en este caso sería moverse (move;). Esta forma de instrucción solo ocurre una vez si quiere repetir esta misma acción varias veces se utiliza el “Iterate x times” luego añade la condición.
Por último se discutió el “while/do statement” que hace una acción mientras esta sea cierta. Esto se puede utilizar cuando no sabes la cantidad exacta de repetir una acción, como moverse, esta permite que siga haciendo la acción indicada hasta que la condición sea falsa y pare. Aquí se le añade “While condición do” y luego las instrucciones. A diferencia del “if/then/else statement” que solo hace la acción una sola vez, el “while/do statement” puede hacer la misma acción más de una vez cuando esta siempre sea cierta. El sigueinte video puede demostrar claramente como trabaja esta acción.
Para obtener más información o repasar puede ir la siguiente página web donde están las lecciones que explican cada una de estas acciones y formas de programacion de Karel the Robot.