mis practicas de karel

25
Colegio de Estudios Científicos y tecnológicos del Estado de Mexico Plantel Tecamac Grupo 404 Aplica los principios de programación en la solución de problemas Derian Jesús Muñoz Gómez Omar González Gutiérrez

Upload: hammet-young-gomez

Post on 21-May-2015

603 views

Category:

Technology


12 download

DESCRIPTION

practicas de karel el robot Derian Jesus Muñoz Gomez Omar Gonzalez Gutierrez

TRANSCRIPT

Page 1: Mis practicas de karel

Colegio de Estudios Científicos y tecnológicos del Estado de

Mexico Plantel Tecamac

Grupo 404

Aplica los principios de programación en la solución de problemas Derian Jesús Muñoz Gómez

Omar González Gutiérrez

Page 2: Mis practicas de karel

Practica #1:

Descripción:

Karel debe recoger tres zumbadores y llevarlos todos al inicio. Los zumbadores se encuentran al final del camino y Karel debe llevárselos uno por uno. Escribe el código que sirve para que Karel cumpla estas condiciones.

Código de la solución:

iniciar-programa inicia-ejecucion avanza; repetir 3 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda;avanza; repetir 3 veces gira-izquierda;avanza; gira-izquierda; avanza; coge-zumbador; repetir 2 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 2 veces gira-izquierda; deja-zumbador; avanza; repetir 3 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda;avanza; repetir 3 veces gira-izquierda;avanza; gira-izquierda; avanza; coge-zumbador; repetir 2 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda;

avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 2 veces gira-izquierda; deja-zumbador; avanza; repetir 3 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda;avanza; repetir 3 veces gira-izquierda;avanza; gira-izquierda; avanza; coge-zumbador; repetir 2 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza; gira-izquierda; avanza; gira-izquierda; avanza; repetir 2 veces gira-izquierda; deja-zumbador; apagate; termina-ejecucion finalizar-programa

Page 3: Mis practicas de karel

Conclusiones:

Se pudo observar que Karel funciona con órdenes tan básicas como: avanza, gira-izquierda, coge-zumbador; y que se le pueden además agregar sentencias repetir N veces. Con tan solo estas instrucciones, Karel puede realizar diversas funciones.

Antes después

Page 4: Mis practicas de karel

Practica # 2: Abuelita

Descripción:

Karel quiere visitar a su abuelita la casa de su abuelita se encuentra siempre delante de Karel en la primera posición que tiene la izquierda y se esta junto a un zumbador.

Código de la solución

iniciar-programa inicia-ejecucion mientras izquierda-libre o no-junto-a-zumbador hacer inicio avanza; fin; apagate; termina-ejecucion finalizar-programa

Conclusión:

Llegar a saber como hacer que Karel sepa si esta parado junto a un zumbador y al lado de un muro.

Antes después

Page 5: Mis practicas de karel

Practica #3: Norte.

Descripción:

Escribe un programa que tenga una instrucción llamada norte que tenga la finalidad de orientar a Karel hacia el norte. Karel puede aparecer en cualquier parte del mundo y puede aparecer en cualquier orientación.

Código de la solución:

iniciar-programa inicia-ejecucion si orientado-al-norte entonces inicio fin; si orientado-al-sur entonces inicio repetir 2 veces gira-izquierda; fin; si orientado-al-este entonces inicio gira-izquierda; fin; si orientado-al-oeste entonces inicio repetir 3 veces gira-izquierda; FIN; apagate;

termina-ejecucion finalizar-programa

Conclusiones:

Karel es capaz de procesar condiciones si-entonces, que sirven para que ejecute una acción si se cumplen ciertas reglas. Estas condiciones se deben dictar junto con las instrucciones básicas de Karel, ya que si solo se colocan en el programa, por si solas no sirven

Page 6: Mis practicas de karel

Pract #4: recoge

Descripción

Haz que Karel recoja los zumbadores del renglón y que los coloque en la pared que esta frente a el:

Código solución: iniciar-programa inicia-ejecucion mientras frente-libre o no-junto-a-zumbador hacer inicio avanza; mientras junto-a-zumbador hacer coge-zumbador; si frente-bloqueado entonces inicio mientras algun-zumbador-en-la-mochila hacer deja-zumbador; apagate; fin; fin; termina-ejecucion finalizar-programa

Conclusiones

Poder saber cómo decirle a Karel que recoja lo que se encuentre y lo deje cuando llegue al muro.

Antes después

Page 7: Mis practicas de karel

Practica #5: subiendo

Descripción:

Karel quiere asomarse por arriba de la barda para ver qué hay del otro lado. Escribe un programa que lleve a Karel a la parte arriba de la barda. Karel aparece siempre pegado ala parte inferior de la barda, mirando hacia el norte, la barda tiene una altura que va desde 1 hasta 20.

Código de la solución:

iniciar-programa inicia-ejecucion

mientras derecha-bloqueada hacer inicio avanza; fin;

apagate; termina-ejecucion finalizar-programa

Antes Después

Conclusiones: Karel también es capaz de cumplir condiciones de mientras-hacer. Esta función tiene el propósito de que Karel ejecute una acción mientras hace otra cosa, estas funciones deben estar alternadas con los comandos básicos y pueden colocarse con condiciones si-entonces para evitar escribir programas largos.

Page 8: Mis practicas de karel

Pract# 6: crea nuevas instrucciones

Descripción

Realizar instrucciones con el comando “define nueva instrucción xxxxxx como inicio”; para que cumplan las condiciones siguientes

1. Gira-derecha 2. Norte 3. Sur 4. Este 5. Oeste 6. Media-vuelta 7. Caminar-hasta-pared 8. Recoger-todo 9. Dejar-todo

Código solución

iniciar-programa define-nueva-instruccion gira-derecha como inicio repetir 3 veces gira-izquierda fin; define-nueva-instruccion norte como inicio mientras no-orientado-al-norte hacer gira-izquierda; fin; define-nueva-instruccion sur como inicio mientras no-orientado-al-sur hacer gira-izquierda; fin; define-nueva-instruccion este como inicio mientras no-orientado-al-este hacer gira-izquierda; fin; define-nueva-instruccion oeste como inicio mientras no-orientado-al-oeste hacer gira-izquierda; fin; define-nueva-instruccion media-vuelta como inicio repetir 2 veces gira-izquierda

fin; define-nueva-instruccion caminar-hasta-pared como inicio mientras frente-libre hacer avanza; fin; define-nueva-instruccion recoger-todo como inicio mientras junto-a-zumbador hacer coge-zumbador fin; define-nueva-instruccion dejar-todo como inicio mientras algun-zumbador-en-la-mochila hacer deja-zumbador fin; inicia-ejecucion repetir 3 veces inicio repetir 2 veces avanza; dejar-todo; apagate; fin; termina-ejecucion finalizar-programa

Conclusiones

Así podremos facilitar las otras prácticas ya que tenemos instrucciones más fáciles de usar.

Page 9: Mis practicas de karel

Practica #7: Amontonar Zumbadores

Descripción: Por su naturaleza, Karel es un robot muy ordenado y le gusta tener todos sus zumbadores acomodados en montones. Tras un fin de semana de juegos, Karel tiene su cuarto lleno de zumbadores regados en columnas, por lo que ahora deberá juntar los zumbadores de cada columna y hacer un montón con ellos en la base de la misma. Tu tarea consiste en escribir un programa que ayude a Karel a amontonar los zumbadores de cada columna en un montón en la base de la misma. Código de la solución: iniciar-programa define-nueva-instruccion come como inicio

si no orientado-al-norte entonces inicio

gira-izquierda; fin;

mientras junto-a-zumbador y no frente-bloqueado hacer inicio mientras junto-a-zumbador y no frente-bloqueado hacer coge-zumbador;

avanza; mientras junto-a-zumbador y frente-bloqueado hacer coge-zumbador; fin; fin; define-nueva-instrucciondejalotodo como inicio

mientrasalgun-zumbador-en-la-mochila hacer deja-zumbador;

fin; define-nueva-instruccion vuelta-atras como inicio repetir 2 veces gira-izquierda; fin; define-nueva-instruccion hazlo como inicio come; vuelta-atras; mientras frente-libre hacer inicio

avanza; fin; dejalotodo; gira-izquierda; avanza; gira-izquierda; fin; inicia-ejecucion mientras junto-a-zumbador hacer hazlo; apagate; termina-ejecucion finalizar-programa

Page 10: Mis practicas de karel

Antes: Después:

CONCLUSIONES: Para que Karel pueda obedecer instrucciones que no tiene contempladas en su codificación tenemos que usar los definidores de nuevas instrucciones. Con ellos podemos crear nuevas órdenes para Karel. Estos definidores tienen una función muy importante ya que la codificación que los contiene puede servir en otros mundos semejantes.

Page 11: Mis practicas de karel

Practica #8: recoge basura

Descripción

Karel tiene que recoger todos los zumbadores que se encuentran regaos en un campo de forma rectangular y al último tiene que dejarlos en la esquina ubicada en 1.1 tienes que tomar en cuenta que el campo puede tener cualquier tamaño.

Código de solución

iniciar-programa define-nueva-instruccion esoeso como inicio mientras frente-libre o no-junto-a-zumbador hacer inicio avanza; mientras junto-a-zumbador hacer coge-zumbador; mientras algun-zumbador-en-la-mochila y orientado-al-oeste y frente-bloqueado y izquierda-bloqueada y derecha-libre hacer inicio deja-zumbador; fin; mientras orientado-al-oeste y frente-bloqueado y izquierda-bloqueada y derecha-libre hacer apagate; si orientado-al-sur y frente-bloqueado y izquierda-libre entonces inicio

gira-izquierda; avanza; gira-izquierda; fin; si orientado-al-sur y izquierda-bloqueada y frente-bloqueado entonces repetir 3 veces gira-izquierda; si frente-bloqueado entonces inicio repetir 2 veces gira-izquierda; fin; fin; si orientado-al-sur y frente-bloqueado entonces inicio gira-izquierda; avanza; fin; fin; inicia-ejecucion esoeso; apagate; termina-ejecucion finalizar-programa

Conclusión

aprendimos a ordenarle a Karel que recoja los zumbadores y que no se trabe en un muro o ya no recoja zumbadores y a que los deje en un punto definido.

Antes: Después:

Page 12: Mis practicas de karel

Practica #9: Laberintos

Descripción:

Nuestro querido Karel estuvo explorando unos laberintos y quería llegar al centro de ellos, y para eso habían indicadores que lo llevarían al centro, ya recogidos esos indicadores, Karel tenía el deber de juntarlos todos en la salida de cada laberinto. Escribir un código que ayude a Karel a cumplir con lo anterior. Karel debe realizar la misma acción en los tres laberintos con un SOLO CODIGO. Para hacerlo hay que hacer los tres laberintos en un solo mundo e ir colocando a Karel en la entrada de cada laberinto cada vez que acabe uno.

Código de la solución:

iniciar-programa define-nueva-instrucción makekarel como inicio mientras junto-a-zumbador hacer coge-zumbador; mientras frente-libre hacer inicio avanza; mientras junto-a-zumbador hacer coge-zumbador; mientras frente-libre yalgun-zumbador-en-la-mochila y izquierda-libre y derecha-libre hacer deja-zumbador; siningun-zumbador-en-la-mochila y derecha-libre y izquierda-libre entonces apagate; fin; si frente-bloqueado y derecha-bloqueada entonces gira-izquierda; si izquierda-bloqueada y frente-bloqueado entonces repetir 3 veces gira-izquierda; mientras frente-libre hacer inicio avanza; mientras junto-a-zumbador hacer coge-zumbador;

mientras frente-libre y izquierda-libre y derecha-libre yalgun-zumbador-en-la-mochila hacer deja-zumbador; siningun-zumbador-en-la-mochila entoncesapagate; fin; si frente-bloqueado y izquierda-bloqueada entonces repetir 3 veces gira-izquierda; fin; inicia-ejecucion repetir 100 veces makekarel; apagate; termina-ejecucion finalizar-programa

Page 13: Mis practicas de karel

Conclusiones

Podemos crear un solo código de Karel para que lo haga en semejantes mundos o composiciones, esto sirve para que no se tenga que escribir mucho código e incluso el código serviría en otros mundos

Antes: Después:

Page 14: Mis practicas de karel

Practica #10: Recoge Zumbadores

Descripción:

Karel tiene que recoger todos los zumbadores en una area con muros sin que quiera pasar a través de ellos o que no como el area puede tener cualquier medida y los tiene que dejar en un punto definido.

Código solución

iniciar-programa define-nueva-instruccion esoeso como inicio mientras izquierda-bloqueada y frente-bloqueado y derecha-libre hacer repetir 3 veces gira-izquierda; mientras frente-libre o no-junto-a-zumbador hacer inicio avanza; mientras junto-a-zumbador hacer coge-zumbador; mientras algun-zumbador-en-la-mochila y orientado-al-oeste y frente-bloqueado y izquierda-bloqueada y derecha-libre hacer inicio deja-zumbador; fin; mientras orientado-al-sur y izquierda-bloqueada y derecha-bloqueada y frente-bloqueado hacer inicio repetir 3 veces gira-izquierda; mientras algun-zumbador-en-la-mochila y orientado-al-oeste y frente-bloqueado y izquierda-bloqueada y derecha-libre hacer deja-zumbador; si ningun-zumbador-en-la-mochila entonces apagate; fin; mientras algun-zumbador-en-la-mochila y orientado-al-oeste y frente-bloqueado y izquierda-bloqueada y derecha-bloqueada hacer inicio deja-zumbador; si ningun-zumbador-en-la-mochila entonces apagate;

fin; mientras orientado-al-oeste y frente-bloqueado y izquierda-bloqueada y derecha-libre hacer apagate; si orientado-al-sur y frente-bloqueado y izquierda-libre entonces inicio gira-izquierda; avanza; gira-izquierda; fin; si orientado-al-sur y izquierda-bloqueada y frente-bloqueado entonces repetir 3 veces gira-izquierda; si frente-bloqueado entonces inicio repetir 2 veces gira-izquierda; fin; fin; si orientado-al-sur y frente-bloqueado entonces inicio gira-izquierda; avanza; fin; fin; inicia-ejecucion esoeso; apagate; termina-ejecucion finalizar-programa

Page 15: Mis practicas de karel

Conclusión:

la forma en la cual debemos fijarnos de que nuestro Karel coja zumbadores aunque este encerrado totalmente.

Antes: Después:

Page 16: Mis practicas de karel

Practica #11: La torre más alta.

Descripción:

Karel se ha ganado la fama de ser muy comelón y en Karelandia tienen el propósito de hacer desaparecer una torre muy vieja y a punto de caerse, lo que tiene que hacer Karel es ir a la parte más alta de Karelandia y empezar a destruir la torre. Escribir el programa que ayudara a Karel a que haga la solución.

Código de la solución:

iniciar-programa define-nueva-instruccion vuela como inicio si orientado-al-norte entonces inicio mientras frente-libre hacer avanza; si frente-bloqueado entonces repetir 3 veces gira-izquierda; fin; fin; define-nueva-instruccion ataca como inicio si izquierda-bloqueada y frente-libre entonces inicio mientras no-junto-a-zumbador hacer avanza; si junto-a-zumbador entonces coge-zumbador; fin; fin; define-nueva-instruccionkong como inicio repetir 3 veces gira-izquierda; mientras frente-libre hacer inicio avanza; mientras junto-a-zumbador hacer coge-zumbador; fin; fin; inicia-ejecucion vuela; ataca; kong; apagate; termina-ejecucion

finalizar-programa

Page 17: Mis practicas de karel

Conclusiones:

Se tuvo la finalidad de que Karel camine hasta la cima del mundo y que vaya rectificando fila por fila hasta encontrar un zumbador y empiece a trabajar.

Antes Después

Page 18: Mis practicas de karel

Practica #12: Sembrando

Descripción:

Se le ha pedido a Karel que siembre zanahorias en un terreno rectangular de un mínimo de 3x1 hasta un máximo de 9x10.

Código solución:

iniciar-programa define-nueva-instruccion hazlo como inicio mientras izquierda-bloqueada y frente-libre hacer avanza; si izquierda-libre entonces gira-izquierda; si izquierda-libre y derecha-libre y frente-libre entonces avanza; fin; define-nueva-instruccion deja como inicio mientras frente-bloqueado hacer gira-izquierda; mientras frente-libre hacer inicio mientras no-junto-a-zumbador hacer deja-zumbador; avanza; fin; si frente-bloqueado entonces inicio si no junto-a-zumbador entonces deja-zumbador; gira-izquierda; gira-izquierda; fin; mientras frente-libre hacer avanza; si frente-bloqueado y derecha-libre entonces repetir 3 veces gira-izquierda; si frente-libre entonces avanza; mientras no-orientado-al-norte hacer gira-izquierda; si izquierda-bloqueada y junto-a-zumbador entonces inicio mientras izquierda-bloqueada hacer avanza; si izquierda-libre entonces

gira-izquierda; avanza; gira-izquierda; avanza; fin; mientras derecha-bloqueada y frente-libre hacer avanza; mientras izquierda-libre y orientado-al-sur y algun-zumbador-en-la-mochila hacer deja-zumbador; si ningun-zumbador-en-la-mochila entonces apagate; fin; inicia-ejecucion mientras no-orientado-al-este hacer gira-izquierda; mientras izquierda-libre hacer inicio avanza; fin; mientras junto-a-zumbador hacer inicio coge-zumbador; fin; mientras frente-libre hacer inicio hazlo; fin; si frente-bloqueado entonces inicio gira-izquierda; mientras frente-libre hacer avanza; fin; mientras algun-zumbador-en-la-mochila hacer inicio deja; fin; apagate; termina-ejecucion finalizar-programa

Page 19: Mis practicas de karel

Conclusión

Tenemos que tener en cuenta la forma en que Karel sepa como dejar zumbadores y saber en que lugar hay muro y que nos se estrelle y también que sepa girar en una esquina sin seguirse.

Antes Después

Page 20: Mis practicas de karel

Practica #13: Paredes

Descripción:

Tú y tu vecino siempre se habían llevado muy bien, pero cierto día, descubriste que tu vecino hablaba mal de ti a tus espaldas, por lo que decidiste construir una pared entre las dos casas.

La empresa de construcción ya trajo los tabiques, pero los ha dejado en desorden en el piso, en columnas de diferente altura.

Tu tarea consiste en acomodar los tabiques de manera que se forme la pared deseada, haciendo que todas las columnas de tabiques tengan la misma altura.

Código solución:

iniciar-programa define-nueva-instruccion derecha como inicio gira-izquierda; gira-izquierda; gira-izquierda; fin; define-nueva-instruccion sur como inicio mientras no-orientado-al-sur hacer gira-izquierda; fin; define-nueva-instruccion norte como inicio mientras no-orientado-al-norte hacer gira-izquierda; fin; define-nueva-instruccion oeste como inicio mientras no-orientado-al-oeste hacer gira-izquierda; fin; define-nueva-instruccion este como inicio mientras no-orientado-al-este hacer gira-izquierda; fin; define-nueva-instruccion vuelta como inicio repetir 2 veces gira-izquierda; fin; define-nueva-instruccion pared como inicio mientras algun-zumbador-en-la-mochila hacer inicio deja-zumbador; si frente-libre entonces inicio avanza; fin sino inicio

si frente-bloqueado y orientado-al-oeste entonces inicio si no-junto-a-zumbador entonces deja-zumbador; derecha; avanza; derecha; pared; fin; si frente-bloqueado y orientado-al-este entonces inicio si no-junto-a-zumbador entonces deja-zumbador; gira-izquierda; avanza; gira-izquierda; pared; fin; fin; fin; apagate; fin; define-nueva-instruccion regresa como inicio vuelta; mientras frente-libre hacer avanza; si frente-bloqueado y izquierda-bloqueada entonces inicio oeste; pared; fin; gira-izquierda; avanza; si no-junto-a-zumbador entonces avanza; gira-izquierda;

Page 21: Mis practicas de karel

fin; define-nueva-instruccion recoge como inicio mientras junto-a-zumbador hacer inicio coge-zumbador; avanza; si no-junto-a-zumbador entonces inicio regresa; recoge; fin; fin; si no-junto-a-zumbador entonces inicio este; avanza; norte;

recoge; fin; fin; inicia-ejecucion norte; recoge; termina-ejecucion finalizar-programa

Conclusión:

Nos enseñó a acomodar números de zumbadores correctamente y que no sobre ni uno ni falte.

Antes Después

Page 22: Mis practicas de karel

Practica #14: Medias pirámides

Descripción

Es bien sabido que en la ciudad de Karelotitlan todos los habitantes tienen sus casas en forma de pirámides, sin embargo, el excéntrico Karelerac quiere ser diferente a los demás y desea construir su casa con sólo la mitad de una pirámide.

Ayuda a Karelerac a construir una media pirámide creciente hacia la derecha con los zumbadores que lleva en la mochila.

Código de la solución:

iniciar-programa define-nueva-instruccion derecha como inicio gira-izquierda; gira-izquierda; gira-izquierda; fin; define-nueva-instruccion sur como inicio mientras no-orientado-al-sur hacer gira-izquierda; fin; define-nueva-instruccion norte como inicio mientras no-orientado-al-norte hacer gira-izquierda; fin; define-nueva-instruccion oeste como inicio mientras no-orientado-al-oeste hacer gira-izquierda; fin; define-nueva-instruccion este como inicio mientras no-orientado-al-este hacer gira-izquierda; fin; define-nueva-instruccion vuelta como inicio repetir 2 veces gira-izquierda; fin; define-nueva-instruccion regresa como inicio sur; mientras frente-libre hacer avanza; gira-izquierda; si frente-libre entonces inicio avanza; fin sino inicio apagate; fin;

norte; fin; define-nueva-instruccion checarlado como inicio oeste; si frente-libre entonces inicio avanza; si junto-a-zumbador entonces inicio este; avanza; si ningun-zumbador-en-la-mochila entonces apagate; si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces deja-zumbador; norte; avanza; checarlado; fin sino inicio este; avanza; si ningun-zumbador-en-la-mochila entonces apagate; si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces deja-zumbador; regresa; checarlado; fin; fin sino inicio vuelta; avanza; norte; si ningun-zumbador-en-la-mochila entonces apagate; checarlado; fin; fin;

Page 23: Mis practicas de karel

define-nueva-instruccion piramide como inicio si ningun-zumbador-en-la-mochila entonces apagate; si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces deja-zumbador; checarlado;

fin; inicia-ejecucion norte; piramide; apagate; termina-ejecucion finalizar-programa

Conclusiones:

Se vio como Karel puede empezar poniendo zumbadores en forma de pirámide ascendente rectificando lados, orientación y zumbadores que trae y que no esté sobre ellos.

Solución

Page 24: Mis practicas de karel

Practica #15: Sedimarip Saidem.

El malvado Carelerak, hermano gemelo de Karelerac, ha descubierto que su hermano ha construido una media pirámide en el otro extremo de la ciudad. Enojado, ha decido construir su propia media pirámide, pero para evitar que lo acusen de plagio, la va a hacer creciente hacia la izquierda, y le llamará Sedimárip Saidem. Ayuda a Carelerak a construir su Sedimárip Saidem creciente hacia la izquierda con los zumbadores que tiene en la mochila. Código de solución:

Iniciar-programa define-nueva-instruccion derecha como inicio gira-izquierda; gira-izquierda; gira-izquierda; fin; define-nueva-instruccion sur como inicio mientras no-orientado-al-sur hacer gira-izquierda; fin; define-nueva-instruccion norte como inicio mientras no-orientado-al-norte hacer gira-izquierda; fin; define-nueva-instruccion oeste como inicio mientras no-orientado-al-oeste hacer gira-izquierda; fin; define-nueva-instruccion este como inicio mientras no-orientado-al-este hacer gira-izquierda; fin; define-nueva-instruccion vuelta como inicio repetir 2 veces gira-izquierda; fin; define-nueva-instruccion regresa como inicio sur; mientras frente-libre hacer avanza; gira-izquierda; fin; define-nueva-instruccion regresados como inicio oeste; si frente-libre entonces inicio avanza; fin sino inicio

sal-de-instruccion; fin; norte; avanza; este; si ningun-zumbador-en-la-mochila entonces apagate; si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces deja-zumbador; regresados; fin; define-nueva-instruccion fijate como inicio este; mientras frente-libre y junto-a-zumbador hacer inicio si frente-bloqueado y orientado-al-este entonces apagate; avanza; si ningun-zumbador-en-la-mochila entonces apagate; si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces inicio deja-zumbador; regresados; regresa; fin; fin; si frente-bloqueado y orientado-al-este entonces apagate; fin; define-nueva-instruccion piramide-rara como inicio si ningun-zumbador-en-la-mochila entonces apagate; si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces deja-zumbador;

Page 25: Mis practicas de karel

fijate; fin; inicia-ejecucion norte;

piramide-rara; apagate; termina-ejecucion finalizar-programa

Conclusiones

Es el mismo problema pero a la inversa que el de medias pirámides, pero el código del anterior no coincidió con este, asi que se tuvo que realizar otro código un poco mas complejo.

Solución