Manual Basico Karel

download Manual Basico Karel

of 23

Transcript of Manual Basico Karel

Karel para todos! paratodos!

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 p g q 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: g AJavierLomeln Urreaporsudedicaciny esmeroenesteproyecto. ManuelFernandoGuzmnMuoz PresidenteOMIJal

Gira GiraIzquierda

OlimpiadadeInformticadelEstadodeJalisco OMIJal DerechosReservados2008 2010 Derechos Reservados 20082010

3

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

45 8 10 11

Captulo2:TomadeDecisiones 2.1:DecisionesSimples 2.2:DecisionesconotroCaso 2.3:DecisionesAnidadas

1213 15 16

Captulo3:Repeticiones 3.1:RepeticionesFijas 3.2:RepeticionesconCondicin

1718 19

Captulo4:InstruccionesNuevas

21

4

I.IntroduccinaKarel I Introduccin a KarelKarel es un lenguaje sencillo y divertido que ayuda al p j g g 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 d d guarda zumbadores. L K l ti hil donde d b d 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:ElProgramadeKarelElprogramadeKarelesunaaplicacinmuysencillaque slotienecuatroseccionesoventanillas.

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

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

6

ProgramaAqu es donde t escribes tu cdigo de instrucciones que Karel va a realizar Es la parte ms importante del programa porque es realizar. 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.

7

EjecutarEn esta seccin puedes ver a Karel realizar las q j , g q instrucciones que habas escrito. Ojo, tu cdigo tiene que estar compilado para que funcione. Esta seccin hace que veas grficamente el resultado de tu cdigo.Adelante ejecuta la siguiente lnea que hay g q y 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 menor sea el nmero de retardo es mayor la velocidad de Karel retardo, Karel.

8

1.2:ElMundodeKarelEl mundo de Karel est formado p cien avenidas y cien calles. por Las avenidas son verticales y las calles son horizontales. Se pueden agregar y quitar paredes en cualquier parte del mundo, as como zumbadores, excepto ste. en los lmites de ste N W S E

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.

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 mundo. zumbadores en cualquier parte del mundo

10

1.3:EmpezandoaProgramarLos 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 (;). iniciarprograma, se debe poner un punto y coma (;) Las lneas de 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:InstruccionesBsicasKarel cuenta con cinco instrucciones bsicas para hacer todas sus tareas Las instrucciones son las siguientes: tareas. 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 , p 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.TomadeDecisionesMuchas veces, Karel necesita tomar una decisin cuando est en una situacin apretada como cuando est enfrente d una de i i d d f 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 frente libre juntoazumbador junto a zumbador orientadoaleste orientado al este

frentebloqueado

nojuntoa zumbador algunzumbador enlamochila ningunzumbador ningun zumbador enlamochila orientadoalnorte

orientadoaloeste

izquierdalibre

noorientadoal norte noorientadoal no orientado al sur noorientadoal este noorientadoal oeste

izquierda izquierda bloqueada derechalibre

derecha bloqueada

orientadoalsur

13

2.1:DecisionesSimplesHay 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 q que va a hacer Karel. Si en frente de l no hay pared, entonces y p , 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 est tambin disponible: si frentelibre o o frente libre juntoazumbador entonces inicio Aqu Karel tomara una decisin si se cumple cualquiera de las dos condiciones.

15

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

18

3.1:RepeticionesFijasKarel, 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:

repetir50 vecesinicio ti 0 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 y se pueden combinar las decisiones con las anterior, 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 no recoge nada.

21

IV.InstruccionesNuevasPara hacer las cosas ms fciles y ahorrar trabajo, p p p 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 gira izquierda para que Karel gire hacia la derecha Entonces nosotros derecha. Entonces, podemos crear una instruccin que se llame giraderecha de la siguiente manera: define nueva instruccingira derecha definenuevainstruccingiraderecha 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 Las instrucciones automticamente. nuevas pueden llamarse como t quieras.

22

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

23