Você está na página 1de 20

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

Você também pode gostar