Manual Karel UPES

Universidad Politécnica Karel el Robot 1 Introducción a Karel Karel es un lenguaje sencillo y divertido que ayuda a

Views 139 Downloads 2 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad Politécnica

Karel el Robot

1

Introducción a Karel

Karel es un lenguaje sencillo y divertido que ayuda al aprendizaje de algoritmos y al desarrollo de la lógica de programación. Karel es un robot virtual que aparece y se representa como una pequeña flecha azul que viaja a través de su mundo. El mundo de Karel es un cuadrado lleno de calles y avenidas que él puede recorrer, a menos que ésta esté bloqueada. Karel tiene una mochila donde guarda zumbadores. Los zumbadores son unos objetos que pueden ser simulados como cajas, conos, canicas, etc y se visualizan como números en enmarcados en color verde, estos están situados en la intersección de una calle con avenida. Éstos le ayudan a Karel a realizar sus tareas ya que pueden ser utilizados para muchas cosas como contar, marcar lugares especiales o caminos importantes, etc. Para que Karel pueda hacer su trabajo, tú como programador tienes que escribir un código con órdenes o comandos que Karel obedece. El código tiene que estar correcto, ya que, lamentablemente, Karel no es un robot con inteligencia artificial y necesita toda tu ayuda para poder funcionar bien.

El Programa de Karel El programa de Karel es una aplicación muy sencilla que sólo tiene cuatro secciones o ventanillas.

Mundo: Es el lugar en el cual Karel realiza sus tareas y puede ser diseñado como tú quieras mientras la tarea de Karel pueda ser realizada ahí.

2

El mundo de Karel está formado por cien avenidas y cien calles. Las avenidas son verticales y las calles son horizontales. Se pueden agregar y quitar paredes en cualquier parte del mundo, así como zumbadores, excepto en los límites de éste.

Karel solamente tiene la habilidad de girar hacia su izquierda, y siempre a 90°. Por lo tanto, Karel siempre va a estar orientado hacia alguno de los puntos cardinales: norte, sur, este y oeste.

En el mundo también se puede definir el número de zumbadores que carga Karel en su mochila. Existe la opción de que Karel tenga zumbadores ilimitados y nunca se agoten. Está opción se activa oprimiendo el botón INFINITO en el cuadro de texto del mundo.

En el mundo de Karel las paredes o muros son obstáculos que se ponen entre las calles y avenidas que Karel no puede saltar, bloqueando su paso por completo. Las paredes se ponen simplemente haciendo un clic con el ratón entre dos calles o dos avenidas. No existen paredes que vallan de una calle a una avenida, es decir, no hay paredes en diagonal. Para quitarla simplemente se hace un clic en la pared. Los límites del mundo son considerados como pared.

3

Ayuda: Esta pestaña contiene un pequeño tutorial acerca del uso de Karel y viene la sintaxis correcta de las instrucciones. Programa:

Aquí es donde tú escribes tu código o instrucciones que Karel va a realizar. Es la parte más importante del programa porque es lo que hace que Karel funcione. Se pueden elegir dos tipos de código: Pascal y Java. Nosotros sólo vamos a usar Pascal.

4

Ejecutar: En esta pestaña puedes ver a Karel realizar las instrucciones que habías escrito. Ojo, tu código tiene que estar compilado para que funcione. Esta sección hace que veas gráficamente el resultado de tu código.

Zumbadores en la mochila: indica cuantos zumbadores está cargando Karel en ese momento. Retardo de ejecución: que indica que tan rápido avanza Karel, entre menor sea el número de retardo es mayor la velocidad de Karel.

5

¿Cómo programar a Karel? Los programas de Karel cuentan con dos simples secciones: iniciar‐programa… finalizar‐programa: Entre estas dos instrucciones irá todo el código fuente del programa; además indica donde inicia y donde termina el programa. inicia‐ejecucion… finaliza‐ejecucion: Esto indica cual es el área del programa que se va a ejecutar. Además de estas dos secciones, el código debe contar con la línea apagate para finalizar la ejecución por completo.

El programa anterior sólo tiene una instrucción para Karel: la instrucción es apagate. Es importante saber que después de cada instrucción se debe poner un punto y coma (;). Las líneas de iniciar‐programa, inicia‐ejecucion, termina‐ejecucion y finalizar‐programa, no llevan punto y coma, ya que no son instrucciones. Estas no le ordenan a Karel a hacer algo, simplemente marcan el inicio y el fin de una sección.

Instrucciones Básicas Karel cuenta con cinco instrucciones básicas para hacer todas sus tareas. Las instrucciones son las siguientes: avanza: Karel avanza una cuadra hacia donde esté orientado. Si hay un muro o una pared enfrente, el programa marcará un error y dejará de ejecutarse gira‐izquierda: Karel gira hacia la izquierda 90°, cambiando su orientación. coge‐zumbador: Karel recoge un zumbador en el lugar donde está parado. Si no hay zumbador en ese lugar, el programa marcará error y termina la ejecución. deja‐zumbador: Karel deja un zumbador en el lugar que está parado. Si Karel no tiene zumbadores en la mochila, entonces no podrá dejar el zumbador y el programa marcará un error. apagate: Finaliza la ejecución del programa. Karel ya no podrá hacer más cosas porque ya está apagado.

6

Creación y ejecución de un programa en Karel

Ejemplo 1: Karel se encuentra en el comedor de su casa, listo para desayunar. Sin embargo, primero tiene que ir a recoger el periódico (representado por un zumbador) que el repartidor deja en la puerta de su casa. Su tarea consiste en programar a Karel para que salga a recoger el periódico y regrese a la posición en la que estaba inicialmente.

Solución: Para solucionar este ejercicio lo primero que debemos hacer es crear el mundo de Karel según la situación propuesta (Situación Inicial), para luego escribir las instrucciones necesarias que den solución al problema planteado.

7

Las instrucciones para este ejemplo son las siguientes:

Si desea guardar sus ejemplos y ejercicios siempre deberá recordar que los mundos y las instrucciones se guardan por separado, es decir que usted debe guardar el mundo y también las instrucciones haciendo uso de los botones correspondientes.

8

Ejercicio 1 Karel se encuentra mirando al Norte, en una esquina donde hay un grupo de 5 zumbadores y lleva 8 zumbadores en su mochila. Su tarea consiste en programar a Karel para que coloque, alrededor de esa esquina, los 8 zumbadores que lleva.

Solución para Ejercicio 1: Escribe tu solución para este ejercicio:

9

Ejercicio 2 Karel está empleado en la Alcaldía Municipal de San Salvador y le han encomendado que trasplante a la calle 3 una fila de 10 arbolitos que están sembrados en la calle 2. Su tarea consiste en programar a Karel para que haga la operación de trasplante de los 10 arbolitos.

10

Toma de Decisiones Hay situaciones que obligan a Karel a ejecutar una acción o una alternativa dependiendo de circunstancias que ocurren en su entorno. Por ejemplo, si el camino frente a Karel está bloqueado, debemos instruirlo para que lo bordee. Karel tiene sensores que le permiten detectar algunas condiciones en su entorno. Por ejemplo, puede detectar si frente a él hay una pared que le impide avanzar, también puede detectar si en la esquina en la que se encuentra, hay zumbadores. Otros sensores de Karel detectan si a su izquierda o a su derecha hay una pared. También tiene sensores que le indican si su orientación es al norte, al sur, al este o al oeste.

11

Decisiones Simples Existen ocasiones en que Karel puede hacer una serie de instrucciones si se cumple una condición previamente establecida. La condición puede ser cualquiera de las mencionadas anteriormente. Por ejemplo: si frente‐libre entonces inicio avanza; fin; En las instrucciones anteriores se muestra una pequeña decisión que va a tomar Karel. Si en frente de él no hay pared, entonces avanza; si hay pared entonces no hace nada. Es importante saber cómo escribir el código de las condiciones. Lo que está escrito en negritas en la instrucción anterior es la condición que tú le das a Karel y puede ser cualquiera de las descritas en la tabla anterior. Entre inicio y fin pueden existir las líneas de código que sean necesarias. También pueden existir múltiples condiciones en la misma línea de código como: si frente‐libre y orientado‐al‐norte entonces inicio fin; Si cualquiera de las dos condiciones no se cumple, Karel se salta esa instrucción (Recordemos las tablas de verdad). La opción ‘o’ está también disponible: si frente‐libre o junto‐a‐zumbador entonces inicio fin;

Aquí Karel tomaría una decisión si se cumple cualquiera de las dos condiciones (Recordemos las tablas de verdad).

12

Decisiones Dobles En este tipo de decisiones, Karel puede hacer una serie de instrucciones si se cumple la condición y si no se cumple Karel puede hacer otra serie de instrucciones. Ejemplo:

Ojo, únicamente el fin de la última línea lleva punto y coma. Decisiones Anidadas Después de haber tomado ya una decisión, dentro de la misma, Karel puede tomar múltiples decisiones. A esto se les conoce como decisiones anidadas. Las decisiones anidadas tienen las mismas características que las decisiones anteriores y tienen estructuras similares a la siguiente: si frente‐libre entonces inicio avanza; si junto‐a‐zumbador entonces inicio coge‐zumbador; fin; fin;

Dentro de cada decisión pueden existir las instrucciones que sean necesarias, así como las decisiones con otro caso. En resumen, anidar es introducir una condición dentro de otra condición y luego dentro de otra y así sucesivamente. 13

Instrucciones de Repetición Repetir Cuando Karel debe realizar una misma actividad que se repite varias veces, lo podemos hacer por medio de una instrucción que indica a Karel que repita una instrucción o un grupo de instrucciones un número determinado de veces. Para la sintaxis de la instrucción repetir hay dos posibles sintaxis o formas según la necesidad. La primera forma es para repetir n veces solo una instrucción, la segunda forma es para repetir n veces varias instrucciones, para esta última forma notaras que es necesario un inicio y un fin que termina en comillas para agrupar las instrucciones a repetir.

Ejemplo 2: Karel está empleado en la alcaldía y maneja un camión recolector de basura. Todos los días debe recoger los depósitos de basura colocados en 10 esquinas de la 3ª Calle. Debido a reparaciones en el sistema de alcantarillas, algunas calles están bloqueadas. Lo peor de todo es que la oficina de alcantarillas ha anunciado que cada día pueden cambiar las calles que serán bloqueadas en esa avenida. Su tarea consiste en programar a Karel para que haga la recolección de los 10 depósitos de basura de la 3ª calle, tomando en cuenta que los espacios bloqueados pueden cambiar de un día para otro. Karel inicia su tarea colocado en la esquina anterior al primer depósito de basura y viendo al este. (Para esta tarea, Karel debería poder tomar decisiones dependiendo de si la calle está o no bloqueada)

14

Solución: Primero construimos el mundo con sus calles, avenidas, paredes o muros y zumbadores.

Una vez creado el mundo procedemos a programar a Karel para que realice la actividad seleccionada.

15

Actividad 1 Revise el código anterior y utilizando la instrucción “repetir” reduzca las líneas de código hasta donde sea posible.

16

Instrucciones de Repetición Mientras Cuando Karel debe realizar una misma actividad que se repite un número indeterminado de veces, lo podemos hacer por medio de una instrucción que, de acuerdo a una condición, indica a Karel que repita un grupo de instrucciones. A diferencia de la función repetir donde el programador sabe de antemano cuantas veces exactamente se van a repetir las instrucciones, con la instrucción mientras podemos repetir una o varias instrucciones, pero de forma indeterminada es decir que no sabemos exactamente cuántas.

Construcción de Nuevas Instrucciones para Karel Para hacer las cosas más fáciles y ahorrar trabajo, nosotros podemos crear nuestras propias instrucciones usando instrucciones existentes, u otras que ya habíamos creado. Como ya lo saben, Karel solamente puede girar hacia la izquierda. Y hay veces que es muy tardado escribir tres veces gira izquierda para que Karel gire hacia la derecha. Entonces, nosotros podemos crear una instrucción que se llame gira‐derecha de la siguiente manera:

17

Ejemplo de nueva instrucción:

Notaras que la nueva instrucción que puede ser una o varias, se escriben después de la línea iniciar programa y antes del alinea inicia ejecucion.

Ejemplo 3: Elaborar un programa para que Karel recorra la pista rectangular recogiendo los zumbadores que encuentre en el camino. Karel comienza en la esquina inferior izquierda y viendo hacia el ESTE.

18

19

UNIVERSIDAD POLITECNICA DE EL SALVADOR FUNDAMENTOS DE PROGRAMACIÓN EJERCICIOS BÁSICOS DE KAREL EL ROBOT 1. Karel llega a su casa y se da cuenta que se le olvidó la cartera que esta representada por un zumbador, en la casa de su amigo Juan, que vive a tres cuadras al norte de la suya. Ayuda a Karel a ir por su cartera a la casa de Juan y que regrese a su casa a depositar la cartera. Situación inicial

Situación final

2. Karel debe ir a depositar la bolsa de basura, representada por un zumbador, a la intersección de la calle 1 con la avenida 7. La intersección de la calle 1 con la avenida 6 está bloqueada por trabajos de la alcaldía, por lo que Karel debe bordearla para depositar la bolsa de basura. Programa a Karel para que ejecute esa acción. Situación inicial

Situación final

3. Karel se encuentra frente a una escalera de 3 gradas, en cada una de las cuales hay 3 zumbadores. Programa a Karel para que suba la escalera recogiendo todos los zumbadores. Situación inicial

Situación final