Está en la página 1de 23

Karel paratodos!

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

ManuelFernandoGuzmnMuoz
PresidenteOMIJal
GiraIzquierda
Gira

OlimpiadadeInformticadelEstadodeJalisco
OMIJal
Derechos Reservados 20082010
DerechosReservados2008 2010

3
ndice

Captulo1:IntroduccinaKarel 4
1.1:ElProgramadeKarel 5
1.2:ElMundodeKarel 8
1 3: Empezando a Programar
1.3:EmpezandoaProgramar 10
1.4:InstruccionesBsicas 11

Captulo2:TomadeDecisiones 12
2.1:DecisionesSimples 13
2.2:DecisionesconotroCaso 15
2.3:DecisionesAnidadas 16

Captulo3:Repeticiones 17
3.1:RepeticionesFijas 18
3.2:RepeticionesconCondicin 19

Captulo4:InstruccionesNuevas 21

4
I Introduccin a Karel
I.IntroduccinaKarel
Karel es un lenguaje sencillo y divertido que ayuda al
p j de algoritmos
aprendizaje g y al desarrollo de la lgica.
g 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

5
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

6
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 Guardartepermite Compilar revisa tu


archivodetexto guardareltextoque cdigo para que no
dondepuedes estactualmente haya errores de
empezaraescribir abierto. ortografa y Karel lo
unprograma
pueda utilizar.
utilizar
desdeelinicio.

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

7
Ejecutar

En esta seccin puedes ver a Karel realizar las


q
instrucciones que j , tu cdigo
habas escrito. Ojo, g tiene que
q estar
compilado para que funcione. Esta seccin hace que veas
grficamente el resultado de tu cdigo.

Adelante ejecuta la
siguiente
g lnea q
que hayy
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.
menor sea el nmero de retardo, Karel

8
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
Karel solamente tiene la
habilidad de girar hacia su izquierda, y
W E 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.

9
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
i i apretada
d como cuando d est enfrente
f de
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 orientadoaloeste


zumbador

izquierdalibre algunzumbador noorientadoal


enlamochila norte

izquierda
izquierda ningunzumbador
ningun zumbador noorientadoal
no orientado al
bloqueada enlamochila sur

derechalibre orientadoalnorte noorientadoal


este

derecha orientadoalsur noorientadoal


bloqueada 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 oo 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,
espacioi 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
En ciertas ocasiones,, Karel tiene que q 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
sijuntoazumbador entoncesinicio
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,
nosotros ppodemos crear nuestras p 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