Está en la página 1de 23

Karel paratodos!

para todos!

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
programa
g
Karel. El libro contiene todo lo q
que
usar el p
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:
g
AJavierLomeln Urreaporsudedicaciny
esmeroenesteproyecto.
ManuelFernandoGuzmnMuoz
PresidenteOMIJal

GiraIzquierda
Gira

OlimpiadadeInformticadelEstadodeJalisco
OMIJal
Derechos Reservados 20082010
DerechosReservados2008
2010

ndice
Captulo1:IntroduccinaKarel

1.1:ElProgramadeKarel
1.2:ElMundodeKarel
1 3: Empezando a Programar
1.3:EmpezandoaProgramar
1.4:InstruccionesBsicas

Captulo2:TomadeDecisiones

5
8
10
11

12

2.1:DecisionesSimples
2.2:DecisionesconotroCaso
2.3:DecisionesAnidadas

Captulo3:Repeticiones

13
15
16

17

3.1:RepeticionesFijas
3.2:RepeticionesconCondicin

Captulo4:InstruccionesNuevas

18
19

21

I Introduccin a Karel
I.IntroduccinaKarel
Karel es un lenguaje sencillo y divertido que ayuda al
p
j de algoritmos
g
y al desarrollo de la lgica.
g
aprendizaje
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.
K l tiene
Karel
ti
una mochila
hil donde
d d guarda
d zumbadores.
b d
L
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.
bien

1.1:ElProgramadeKarel
ElprogramadeKarelesunaaplicacinmuysencillaque
slotienecuatroseccionesoventanillas.

Mundo
Es el lugar en el cual Karel realiza sus tareas y puede ser
diseado como t q
quieras mientras la tarea de Karel p
pueda ser
realizada ah.

Ayuda
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
q viene con Karel p
que
pero no son necesarias p
para el uso del p
programa.
g

Programa
Aqu es donde t escribes tu cdigo de instrucciones que
Karel va a realizar
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.

Nuevo creaun
archivodetexto
dondepuedes
empezaraescribir
unprograma
desdeelinicio.

Guardartepermite
guardareltextoque
estactualmente
abierto.

Compilar revisa tu
cdigo para que no
haya errores de
ortografa y Karel lo
pueda utilizar.
utilizar

Abrir es un botn
que te permite
abrir un texto que
ya habas escrito y
guardado antes.

Ejecutar
En esta seccin puedes ver a Karel realizar las
q
j , tu cdigo
g tiene que
q
instrucciones que
habas escrito. Ojo,
estar
compilado para que funcione. Esta seccin hace que veas
grficamente el resultado de tu cdigo.
Adelante ejecuta la
siguiente
lnea q
que hayy
g
en tu cdigo.
Detener pausa el programa.

Correr empieza a ejecutar el


programa desde la lnea en
la que se encuentra hasta
que termina el programa o
lo detienes.

Zumbadores en la mochila indica cuantos zumbadores est cargando


Karel en ese momento.
Retardo de ejecucin que indica que tan rpido avanza Karel. Entre
retardo es mayor la velocidad de Karel.
Karel
menor sea el nmero de retardo,

1.2:ElMundodeKarel
El mundo de Karel est
formado por
p 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.
ste
N
W

E
S

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 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.

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.
mundo

10

1.3:EmpezandoaProgramar
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.
j
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,
iniciar programa
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.

11

1.4:InstruccionesBsicas
Karel cuenta con cinco instrucciones bsicas para hacer
todas sus tareas.
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 p
podr dejar
j
el zumbador y el programa marcar error.
apagate: Finaliza la ejecucin del programa. Karel ya no podr hacer
ms cosas porque ya est apagado.

12

II.TomadeDecisiones
Muchas veces, Karel necesita tomar una decisin cuando
est en una situacin
de
i
i apretada
d como cuando
d est enfrente
f
d 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:
frente libre
frentelibre

junto a zumbador
juntoazumbador

orientado al este
orientadoaleste

frentebloqueado

nojuntoa
zumbador

orientadoaloeste

izquierdalibre

algunzumbador
enlamochila

noorientadoal
norte

izquierda
izquierda
bloqueada

ningunzumbador
ningun
zumbador
enlamochila

noorientadoal
no
orientado al
sur

derechalibre

orientadoalnorte

noorientadoal
este

derecha
bloqueada

orientadoalsur

noorientadoal
oeste

13

2.1:DecisionesSimples
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:
sifrentelibreentoncesinicio
avanza;
fin;
En las lneas anteriores se muestra una pequea decisin
que va a hacer Karel. Si en frente de l no hayy p
q
pared,, entonces
avanza; si hay pared entonces no hace nada.

14

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
salta esa instruccin.
La opcin o
o est tambin disponible: si frente
frentelibre
libre o
juntoazumbador entonces inicio Aqu Karel tomara una decisin si
se cumple cualquiera de las dos condiciones.

15

2.2:DecisionesconotroCaso
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:
sifrentelibreentoncesinicio
avanza;;
fin
sinoinicio
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.

16

2.3:DecisionesAnidadas
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:
sifrentelibreentoncesinicio
avanza;
sijuntoazumbador entoncesinicio
cogezumbador;
f ;
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.

17

III.Repeticiones
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
i y tiempo,
ti
podemos
d
h
hacer
repeticiones,
ti i
o ciclos,
i l como se
les llama comnmente.
Las repeticiones que puede hacer Karel son las
repeticiones
p
fijas
j y las repeticiones
p
con condicin. En este captulo
p
aprenders a hacer los dos tipos de repeticiones y as vers como
todo se hace ms fcil.

18

3.1:RepeticionesFijas
En el programa de Karel,
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:

repetir50
ti 0 vecesinicio
i i i
avanza;
fin;
As te ahorras muchsimo trabajo y esfuerzo. T le puedes
poner el nmero de veces que quieres repetir la instruccin. El
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.
decimales

19

3.2:RepeticionesconCondicin
q
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.

mientrasfrentelibrehacerinicio
avanza;
fin;
En este caso, mientras Karel no tenga una pared en
frente, va a avanzar. Cuando encuentre la pared, dejar de hacer la
repeticin Las condiciones que llevan las repeticiones son las mismas
repeticin.
que en el captulo anterior.

20

Tambin existen las repeticiones anidadas como en el


captulo anterior,
anterior y se pueden combinar las decisiones con las
repeticiones. Ejemplo:

j
entoncesinicio
sijuntoazumbador
mientrasjuntoazumbador hacerinicio
cogezumbador;
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
g nada.
no recoge

21

IV.InstruccionesNuevas
Para hacer las cosas ms fciles y ahorrar trabajo,
p
nosotros p
podemos crear nuestras p
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 gira
izquierda para que Karel gire hacia la derecha.
derecha Entonces,
Entonces nosotros
podemos crear una instruccin que se llame giraderecha de la
siguiente manera:
definenuevainstruccingiraderecha
define
nueva instruccingira derecha comoinicio
giraizquierda;
giraizquierda;
giraizquierda;
fin;
Esto tiene que ser escrito entre las lneas iniciarprograma
e iniciaejecucion al inicio de tu cdigo. Entonces dentro del
cdigo t escribes la instruccin giraderecha y Karel gira tres
veces hacia la izquierda automticamente.
automticamente Las instrucciones
nuevas pueden llamarse como t quieras.

22

Si te interesa practicar para convertirte


en un experto, ingresa
i
a www.omijal.org.mx
ij l
y
se parte de la leyenda.

23

También podría gustarte