Sie sind auf Seite 1von 29

Kar e l para

todos!
1



Ests interesado en aprender a programar
en lenguaje de Karel? Te interesa la Olimpiada Mexicana
de Informtica? Esta es tu oportunidad de unirte al equipo
OMI y ser parte de la mejor competencia
nacional de programacin.
Este pequeo libro te ensea paso por paso como
usar el programa Karel. El libro contiene todo lo que
necesitas saber para lograr problemas de dificultad bsica y
media. Practicando en lnea en la pgina de OMIJAL,
www.omijal.org.mx, podrs convertirte en un experto en
Karel. Recuerda, la prctica hace al maestro.
Agradecimiento:
A Javier Lomeln Urrea por su dedicacin
y esmero en este proyecto.
Manuel Fernando Guzmn Muoz
Presidente OMIJal




3

GiraIzquierda



Olimpiada de Informtica del Estado de
Jalisco
OMIJal
Derechos Reservados 20082010



5

ndice



6

1.1: El Programa de 5 Karel
1.2: El Mundo de 8 Karel
Captulo

1:

Introduccin

a

4 Karel
1 . 3: Empezando a Programar 10
1.4: Instrucciones 11 Bsicas
Captulo

2:

Toma

de

Decisiones 12
2.1: Decisiones 13 Simples
2.2: Decisiones con otro Caso 15
2.3: Decisiones 16 Anidadas
3.1: Repeticiones Fijas 18
3.2: Repeticiones con Condicin 19
Captulo

3:

Repeticiones 17
Captulo

4:

Instrucciones

Nuevas 21



7

Karel es un lenguaje sencillo y divertido que ayuda al
aprendizaje de algoritmos y al desarrollo de la lgica. Karel es un
robot virtual que aparece como una pequea flecha azul que viaja
a travs 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
canicas. 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 cdigo
con rdenes o comandos que Karel obedece. El cdigo tiene
que estar correcto, ya que, lamentablemente, Karel no es un
robot listo y necesita toda tu ayuda para poder funcionar bien.
I .

Introduccin

a

Karel



8

1.1: El Programa de Karel
El programa de Karel es una aplicacin muy sencilla que
slo tiene cuatro secciones o ventanillas.
Es el lugar en el cual Karel realiza sus tareas y
puede ser diseado como t quieras mientras la tarea de Karel pueda
ser realizada ah.
Mundo



9

Este botn contiene un pequeo tutorial acerca del uso
de Karel y viene la sintaxis correcta de las instrucciones.
Las dos ventanillas restantes son parte de un evaluador
que viene con Karel pero no son necesarias para el uso del programa.
Ayuda



1
0
Aqu es donde t escribes tu cdigo de
instrucciones que Karel va a realizar. Es la parte ms importante del
programa porque es lo que hace que Karel funcione. Se pueden elegir
dos tipos de cdigo:
Pascal y Java. Nosotros slo vamos a usar Pascal.
Programa



1
1

seccin puedes ver a
Nuevo crea

un

archivo

de

texto

donde

puedes

empezar

a

escribir

un

programa

Guardar

te

permite

guardar

el

texto

que

est

actualmente

abierto.

Compilar revisatu
cdigoparaqueno
errores haya de
ortografayKarello
desde

el

inicio.

pueda utilizar .
Abrir esunbotn
que te permite
abriruntextoque
yahabasescritoy
guardadoantes.
Ejecutar
En esta



1
2
Karel realizar las instrucciones que habas escrito. Ojo
tu cdigo tiene que estar




1
3
1.2: El Mundo de Karel
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 lmites de ste.
N
Karel solamente tiene la
habilidad de girar hacia su izquierda, y
WE siempre a 90. Por lo tanto, Karel siempre
va a estar orientado hacia alguno de los
puntos cardinales: norte, sur, este y oeste. S
En el mundo tambin se puede definir el nmero de
zumbadores que carga Karel en su mochila. Existe la opcin de que
Karel tenga zumbadores ilimitados y nunca se agoten. Est opcin se
activa oprimiendo el botn INFINITO en el cuadro de texto del
mundo.



1
4
Las paredes son obstculos que se ponen entre las calles
que Karel no puede saltar, bloqueando su paso por completo. Las
paredes se ponen simplemente haciendo un clic con el ratn 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 lmites del mundo son
considerados como pared.

Se puede establecer con que ubicacin inicia Karel el
programa y hacia donde est orientado. As como agregar y quitar
zumbadores en cualquier parte del mundo.




1
5
1.3: Empezando a Programar
Los programas de Karel cuentan con dos simples secciones:
iniciarprograma finalizarprograma: Indica donde ir todo el
cdigo fuente del programa; donde inicia y donde termina.
iniciaejecucion finalizaejecucion: Esto indica cual es el rea del
programa que se va a ejecutar.
Adems de estas dos secciones, el cdigo debe contar con
la lnea apagate para finalizar la ejecucin por completo.

El programa anterior slo tiene una instruccin para
Karel: apagate. Es importante saber que despus de cada instruccin
se debe poner un punto y coma (;). Las lneas de iniciarprograma,
iniciaejecucion, terminaejecucion y finalizarprograma, 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
seccin.



1
6

Karel cuenta con cinco instrucciones bsicas para hacer
todas sus tareas. Las instrucciones son las siguientes:
avanza: Karel avanza una cuadra hacia donde est orientado. Si hay
una pared enfrente, el programa marcar un error y dejar de
ejecutarse.
giraizquierda: Karel gira hacia la izquierda 90, cambiando su
orientacin.
cogezumbador: Karel recoge un zumbador en el lugar donde est
parado. Si no hay zumbador en ese lugar, el programa marcar error
y termina la ejecucin.
dejazumbador: 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 error.
apagate: Finaliza la ejecucin del programa. Karel ya no podr hacer
1.4:

Instrucciones

Bsicas



1
7
ms cosas porque ya est apagado.



18

Muchas veces, Karel necesita tomar una decisin cuando
est en una situacin apretada como cuando est enfrente de una
pared y necesita saber si avanza o si no. Las condiciones que Karel
puede detectar para poder hacer su decisin se
listan a continuacin:
frentelibre juntoazumbador orientadoaleste
frentebloqueado nojuntoa
zumbador
orientadoal
oeste
izquierdalibre algunzumbador
enlamochila
noorientado
alnorte
II.

Toma

de

Decisiones



1
9
izquierdabloqueada ningun
zumbadorenla
mochila
noorientado
alsur
derechalibre orientadoal
norte
noorientado
aleste
derechabloqueada orientadoalsur noorientado
aloeste
2.1: Decisiones Simples
Hay veces que Karel puede hacer una
serie de instrucciones si se cumple una condicin previamente
establecida. La condicin puede ser cualquiera de las mencionadas
anteriormente. Por ejemplo:
si frentelibre entonces inicio
avanza;
fin;
En las lneas anteriores se muestra una pequea decisin



2
0
que va a hacer Karel. Si en frente de l no hay pared, entonces
avanza; si hay pared entonces no hace nada.


Es importante saber cmo escribir el cdigo de las condiciones. Lo
que est escrito en negritas anteriormente es la condicin que t le
das a Karel y puede ser cualquiera de las de la lista. Entre inicio y fin
pueden existir las lneas de cdigo que sean necesarias.
Tambin pueden existir mltiples condiciones en la misma
lnea de cdigo como: si frentelibre y orientadoalnorte entonces
inicio Si cualquiera de las dos condiciones no se cumple, Karel se



2
1
salta esa instruccin.
La opcin o est tambin disponible: si frentelibre o
juntoazumbador entonces inicio Aqu Karel tomara una decisin
si se cumple cualquiera de las dos condiciones.
2.2: Decisiones con otro Caso
En este tipo de decisiones, Karel puede hacer una serie de
instrucciones si se cumple la condicin y si no se cumple Karel puede
hacer otra serie de instrucciones. Ejemplo:
si frentelibre entonces inicio
avanza;
fin sino
inicio
giraizquierda;
fin;
En este caso, si el frente de Karel est libre entonces
avanza. Si est bloqueado entonces gira hacia la izquierda. Ojo,
nicamente el fin de la ltima lnea lleva punto y coma.



2
2

2.3: Decisiones Anidadas
Despus de haber tomado ya una decisin, dentro de la
misma, Karel puede tomar mltiples decisiones. A esto se les conoce
como decisiones anidadas. Las decisiones anidadas tienen las mismas
caractersticas que las decisiones anteriores y tienen estructuras
similares a la siguiente:



2
3
si frentelibre entonces inicio
avanza;
si juntoazumbador entonces inicio coge
zumbador;
fin;
fin;
Dentro de cada decisin pueden existir las instrucciones
que sean necesarias, as como las decisiones con otro caso. Si es
necesario, muchas decisiones pueden existir dentro de otras.



2
4

Hay veces que Karel necesita repetir una serie de
instrucciones y decisiones muchas veces. Digamos que Karel tiene
que avanzar cincuenta veces para llegar a un lugar importante. Lo
que tendramos que hacer sera escribir la palabra avanza
cincuenta veces, y es un trabajo pesado. Para ahorrar trabajo,
espacio y tiempo, podemos hacer repeticiones, o ciclos, como
se les llama comnmente.
Las repeticiones que puede hacer Karel son
las repeticiones fijas y las repeticiones con condicin. En este
captulo aprenders a hacer los dos tipos de repeticiones y as vers
como todo se hace ms fcil.
III.

Repeticiones



2
5

3.1: Repeticiones Fijas
En el programa de Karel, t le puedes dar un nmero
exacto de veces que quieres repetir una instruccin o serie de
instrucciones. Esto se usa con la instruccin de repetir. Ejemplo:
repetir 50 veces inicio
avanza;
fin;
As te ahorras muchsimo trabajo y esfuerzo. T le puedes
poner el nmero de veces que quieres repetir la instruccin. El



2
6
nmero de veces que Karel va a hacer la serie de instrucciones que t
le das tiene que ser un nmero entero, no puede haber fracciones ni
decimales.
3.2: Repeticiones con Condicin
En ciertas ocasiones, Karel tiene que hacer una
instruccin pero t no sabes cundo hacer que se pare. Por ejemple:
Karel tiene que avanzar hasta que encuentra una pared. T sabes que
Karel tiene que avanzar, pero no sabes que tan lejos. Esto se logra de
la siguiente manera.
mientras frentelibre hacer inicio
avanza;
fin;
En este caso, mientras Karel no tenga una pared en
frente, va a avanzar. Cuando encuentre la pared, dejar de hacer la



2
7
repeticin. Las condiciones que llevan las repeticiones son las mismas
que en el captulo anterior.
Tambin existen las repeticiones anidadas como en el
captulo anterior, y se pueden combinar las decisiones con las
repeticiones. Ejemplo:
si juntoazumbador entonces inicio mientras
juntoazumbador hacer inicio coge
zumbador;
fin;
fin;
Aqu, Karel toma una decisin y luego hace
una repeticin. Este cdigo hace que Karel encuentre un montn
de zumbadores y los recoja todos. Si no est junto a un zumbador,
Karel no recoge nada.



2
8
Para hacer las cosas ms fciles y ahorrar trabajo, nosotros podemos
crear nuestras propias instrucciones usando instrucciones existentes, u
otras que ya habamos creado.
Como ya lo saben, Karel solamente puede girar hacia la
izquierda. Y hay veces que es muy tardado escribir tres veces
giraizquierda para que Karel gire hacia la derecha. Entonces,
nosotros podemos crear una instruccin que se llame gira
derecha de la siguiente manera:
definenuevainstruccin giraderecha como inicio
giraizquierda; gira
izquierda; giraizquierda;
fin;
Esto tiene que ser escrito entre las lneas iniciarprograma
e iniciaejecucion al inicio de tu cdigo. Entonces dentro del
IV.

Instrucciones

Nuevas



2
9
cdigo t escribes la instruccin giraderecha y Karel gira tres
veces hacia la izquierda automticamente. Las instrucciones
nuevas pueden llamarse como t quieras.


Si te interesa practicar para convertirte
en un experto, ingresa a www.omijal.org.mx y
se parte de la leyenda.

Das könnte Ihnen auch gefallen