La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Preparado por: Prof. Nelliud D. Torres

Presentaciones similares


Presentación del tema: "Preparado por: Prof. Nelliud D. Torres"— Transcripción de la presentación:

1 Preparado por: Prof. Nelliud D. Torres
KAREL EL ROBOT COMP-2120 Preparado por: Prof. Nelliud D. Torres

2 Instrucciones para el Robot Karel
El propósito de estudiar a Karel en adición a Otto es para familiarizarnos más con la programación estructurada y facilitar la adaptación a estilos de programación mas avanzados de los que nos puede ofrecer Otto. Otra razón es que Karel tiene un compilador en donde el estudiante puede escribir las instrucciones, validarlas y ejecutarlas visualmente en la pantalla. De este modo se facilita la adaptación al mundo de la programación y del manejo de errores, tanto de sintaxis como de lógica. Otro punto importante es que estaremos tomando ejemplos de los comandos de Otto y Karel según nos adentremos más en los conceptos de programación.

3 Instrucciones de Karel
Las intrucciones de Karel se pueden dividir en los siguientes tópicos: Vocabulario básico Vocabulario extendido Instrucciones condicionales Instrucciones de repetición

4 FORMATO DEL LENGUAJE DE KAREL
EL lenguaje que se utiliza para programar a Karel, va a tener el siguiente formato: Lo que se ponga entre llaves ({}) se considera comentario, no instrucción. { Comentarios } begin move pickbeeper turnleft putbeeper end Encabezamiento. Cada programa comenzará con la instrucción begin Conclusión. Cada programa terminará con la instrucción end Instrucciones

5 Vocabulario Básico move - Karel puede moverse un paso hacia el frente. Si hay una pared, choca y el programa aborta. turnleft - Karel vira 90 grados hacia la izquierda. Tiene el mismo problema de Otto con la diferencia de que es zurdo. pickbeeper - Karel recoje un beeper y lo coloca en su bolsa. Tiene que haber un beeper la lado de el. De no ser así, el programa aborta. putbeeper - Karel saca un beeper de su bolsa y lo pone en el piso. De nuevo, si no hay beeper en la bolsa, el programa aborta y Karel detiene su ejecución.

6 VOCABULARIO EXTENDIDO
Podemos “inventarnos” instrucciones en Karel. Por ejemplo para crear un comando que haga que Karel vire a la derecha, podemos escribir las siguientes intrucciones antes del begin. Nueva instrucción para karel turnright turnleft turnlef end Requiere un end al final.

7 INSTRUCCIONES CONDICIONALES
Karel posee una instrucción llamada if que le permite saber el status de ciertas condiciones. Con eso podemos especificarle que haga una cosa o la otra. El formato del if es el siguiente: if predicate <then-instrucciones end <then-instrucciones> else <else-clause statement(s)> Predicate es la condición por la que se va a preguntar. En el próximo slide, se van a mostrar esas condiciones. Note que siempre termina con end. En el ejemplo tienen dos formatos distintos para la misma instrucción. En la clase se abundará más sobre eso.

8 Condiciones (Predicate)
front_is_clear not front_is_clear left_is_clear not left_is_clear right_is_clear not right_is_clear facing_north not facing_north facing_south not facing_south facing_east not facing_east facing_west not facing_west next_to_a_beeper not next_to_a_beeper any_beepers_in_beeper_bag not beepers_in_beeper_bag

9 INSTRUCCIONES DE REPETICIÓN
iterate Tiene el siguiente formato: iterate iteration-amount <loop body statement(s)> end Nos permite ejecutar una o mas instrucciones en más de una ocasión. De este modo nos permite minimizar la cantidad de instrucciones a escribir cuando son repetitivas. Ejemplo: Es similar a: iterate 4 move move move end move move

10 while Tiene el siguiente formato:
while predicate <loop body statement(s)> end Nos permite ejecutar una o más instrucciones en ninguna o varias ocasiones mientras una condición (predicate) se cumpla. A difirencia del iterate, no se puede saber con certeza cuantas veces se va ejecutar las intrucciones dentro del while. El rango es de cero (0) a indefinido (n) veces. Ejemplo: while next_to_a_beeper pickbeeper move end Mientras Karel este parado al lado de un beeper, lo va a recoger y va a dar un paso adelante. Note que no coteja si al frente hay una pared o no.

11 EL MUNDO DE KAREL Permite rotar la dirección a la que Karel está mirando Nos permite ver por donde Karel va. Es necesario ponerlo antes de correr el programa. Nos permite editar el mapa. Poner paredes, los beepers y a Karel.

12 EJEMPLO DE UNA CORRIDA Dele click al mouse para que vea la simulación de la corrida del programa que se muestra en este slide.

13 EJEMPLO DE UNA CORRIDA

14 EJEMPLO DE UNA CORRIDA

15 EJEMPLO DE UNA CORRIDA

16 EJEMPLO DE UNA CORRIDA

17 EJEMPLO DE UNA CORRIDA

18 EJEMPLO DE UNA CORRIDA

19 EJEMPLO DE UNA CORRIDA

20 EJEMPLO DE UNA CORRIDA

21 EJEMPLO DE UNA CORRIDA

22 EJEMPLO DE UNA CORRIDA

23 EJEMPLO DE UNA CORRIDA

24 EJEMPLO DE UNA CORRIDA

25 EJEMPLO DE UNA CORRIDA

26 EJEMPLO DE UNA CORRIDA

27 EJEMPLO DE UNA CORRIDA

28 EJEMPLO DE UNA CORRIDA Este mensaje indica que el programa termino de ejecutarse


Descargar ppt "Preparado por: Prof. Nelliud D. Torres"

Presentaciones similares


Anuncios Google