Sei sulla pagina 1di 25

Colegio de Estudios Cientficos y tecnolgicos del Estado de

Mexico
Plantel Tecamac

Aplica los principios de


programacin en la
solucin de problemas
Derian Jess Muoz Gmez
Omar Gonzlez Gutirrez

Grupo 404
Practica #1:

Descripcin:

Karel debe recoger tres zumbadores y llevarlos todos al inicio. Los zumbadores se
encuentran al final del camino y Karel debe llevrselos uno por uno. Escribe el
cdigo que sirve para que Karel cumpla estas condiciones.

Cdigo de la solucin:
iniciar-programa avanza; gira-izquierda;
inicia-ejecucion avanza; gira-izquierda;
avanza; avanza; repetir 3 veces gira-izquierda;
repetir 3 veces gira-izquierda; avanza; avanza; repetir 3 veces gira-izquierda;
repetir 3 veces gira-izquierda; avanza; avanza; gira-izquierda;
gira-izquierda; avanza; avanza; gira-izquierda;
gira-izquierda; avanza; avanza; repetir 3 veces gira-izquierda;
repetir 3 veces gira-izquierda; avanza; avanza; repetir 3 veces gira-izquierda;
repetir 3 veces gira-izquierda; avanza; avanza; gira-izquierda;
gira-izquierda; avanza; avanza; gira-izquierda;
gira-izquierda; avanza; avanza; repetir 2 veces gira-izquierda;
repetir 3 veces gira-izquierda;avanza; deja-zumbador;
repetir 3 veces gira-izquierda;avanza; avanza;
gira-izquierda; avanza; repetir 3 veces gira-izquierda; avanza;
coge-zumbador; repetir 2 veces gira- repetir 3 veces gira-izquierda; avanza;
izquierda; gira-izquierda; avanza;
avanza; repetir 3 veces gira-izquierda; gira-izquierda; avanza;
avanza; gira-izquierda; repetir 3 veces gira-izquierda; avanza;
avanza; gira-izquierda; repetir 3 veces gira-izquierda; avanza;
avanza; repetir 3 veces gira-izquierda; gira-izquierda; avanza;
avanza; repetir 3 veces gira-izquierda; gira-izquierda; avanza;
avanza; gira-izquierda; repetir 3 veces gira-izquierda;avanza;
avanza; gira-izquierda; repetir 3 veces gira-izquierda;avanza;
avanza; repetir 3 veces gira-izquierda; gira-izquierda; avanza;
avanza; repetir 3 veces gira-izquierda; coge-zumbador; repetir 2 veces gira-
avanza; gira-izquierda; izquierda;
avanza; gira-izquierda; avanza; repetir 3 veces gira-izquierda;
avanza; repetir 2 veces gira-izquierda; avanza; gira-izquierda;
deja-zumbador; avanza; gira-izquierda;
avanza; avanza; repetir 3 veces gira-izquierda;
repetir 3 veces gira-izquierda; avanza; avanza; repetir 3 veces gira-izquierda;
repetir 3 veces gira-izquierda; avanza; avanza; gira-izquierda;
gira-izquierda; avanza; avanza; gira-izquierda;
gira-izquierda; avanza; avanza; repetir 3 veces gira-izquierda;
repetir 3 veces gira-izquierda; avanza; avanza; repetir 3 veces gira-izquierda;
repetir 3 veces gira-izquierda; avanza; avanza; gira-izquierda;
gira-izquierda; avanza; avanza; gira-izquierda;
gira-izquierda; avanza; avanza; repetir 2 veces gira-izquierda;
repetir 3 veces gira-izquierda;avanza; deja-zumbador;
repetir 3 veces gira-izquierda;avanza;
gira-izquierda; avanza;
coge-zumbador; repetir 2 veces gira- apagate;
izquierda; termina-ejecucion
avanza; repetir 3 veces gira-izquierda; finalizar-programa
Antes despus

Conclusiones:

Se pudo observar que Karel funciona con rdenes tan bsicas como: avanza, gira-
izquierda, coge-zumbador; y que se le pueden adems agregar sentencias repetir
N veces. Con tan solo estas instrucciones, Karel puede realizar diversas funciones.
Practica # 2: Abuelita

Descripcin:

Karel quiere visitar a su abuelita la casa de su abuelita se encuentra siempre


delante de Karel en la primera posicin que tiene la izquierda y se esta junto a un
zumbador.

Cdigo de la solucin

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

Antes despus

Conclusin:

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

Descripcin:

Escribe un programa que tenga una instruccin 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 orientacin.

Cdigo de la solucin:
iniciar-programa termina-ejecucion
inicia-ejecucion finalizar-programa
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;

Conclusiones:

Karel es capaz de procesar condiciones si-entonces, que sirven para que ejecute
una accin si se cumplen ciertas reglas. Estas condiciones se deben dictar junto
con las instrucciones bsicas de Karel, ya que si solo se colocan en el programa,
por si solas no sirven
Pract #4: recoge

Descripcin

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

Cdigo solucin:
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

Antes despus

Conclusiones

Poder saber cmo decirle a Karel que recoja lo que se encuentre y lo deje cuando
llegue al muro.
Practica #5: subiendo

Descripcin:

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.

Cdigo de la solucin:
iniciar-programa
inicia-ejecucion
mientras derecha-bloqueada hacer inicio
avanza;
fin;
apagate;
termina-ejecucion
finalizar-programa

Antes Despus

Conclusiones:

Karel tambin es capaz de cumplir condiciones de mientras-hacer. Esta funcin


tiene el propsito de que Karel ejecute una accin mientras hace otra cosa, estas
funciones deben estar alternadas con los comandos bsicos y pueden colocarse
con condiciones si-entonces para evitar escribir programas largos.
Pract# 6: crea nuevas instrucciones

Descripcin

Realizar instrucciones con el comando define nueva instruccin 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

Cdigo solucin

iniciar-programa fin;
define-nueva-instruccion gira-derecha como define-nueva-instruccion caminar-hasta-pared
inicio como inicio
repetir 3 veces gira-izquierda mientras frente-libre hacer avanza;
fin; fin;
define-nueva-instruccion norte como inicio define-nueva-instruccion recoger-todo como
mientras no-orientado-al-norte hacer gira- inicio
izquierda; mientras junto-a-zumbador
fin; hacer coge-zumbador
define-nueva-instruccion sur como inicio fin;
mientras no-orientado-al-sur hacer gira- define-nueva-instruccion dejar-todo como
izquierda; inicio
fin; mientras algun-zumbador-en-la-mochila
define-nueva-instruccion este como inicio hacer deja-zumbador
mientras no-orientado-al-este hacer gira- fin;
izquierda; inicia-ejecucion
fin; repetir 3 veces inicio
define-nueva-instruccion oeste como inicio repetir 2 veces avanza;
mientras no-orientado-al-oeste hacer gira- dejar-todo;
izquierda; apagate;
fin; fin;
define-nueva-instruccion media-vuelta como termina-ejecucion
inicio finalizar-programa
repetir 2 veces gira-izquierda

Conclusiones

As podremos facilitar las otras prcticas ya que tenemos instrucciones ms fciles


de usar.
Practica #7: Amontonar Zumbadores

Descripcin:

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 montn 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 montn en la base de la
misma.

Cdigo de la solucin:
iniciar-programa avanza;
fin;
define-nueva-instruccion come como inicio dejalotodo;
si no orientado-al-norte entonces gira-izquierda;
inicio avanza;
gira-izquierda; gira-izquierda;
fin; fin;
mientras junto-a-zumbador y no frente-
bloqueado hacer inicio inicia-ejecucion
mientras junto-a-zumbador y no frente- mientras junto-a-zumbador hacer hazlo;
bloqueado hacer coge-zumbador; apagate;
avanza; termina-ejecucion
mientras junto-a-zumbador y frente- finalizar-programa
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
Antes: Despus:

CONCLUSIONES:
Para que Karel pueda obedecer instrucciones que no tiene contempladas en su
codificacin tenemos que usar los definidores de nuevas instrucciones. Con ellos
podemos crear nuevas rdenes para Karel. Estos definidores tienen una funcin
muy importante ya que la codificacin que los contiene puede servir en otros
mundos semejantes.
Practica #8: recoge basura

Descripcin

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

Cdigo de solucin

iniciar-programa gira-izquierda; avanza; gira-izquierda;


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

Antes: Despus:

Conclusin

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.
Practica #9: Laberintos

Descripcin:

Nuestro querido Karel estuvo explorando unos laberintos y quera llegar al centro
de ellos, y para eso haban indicadores que lo llevaran al centro, ya recogidos esos
indicadores, Karel tena el deber de juntarlos todos en la salida de cada laberinto.
Escribir un cdigo que ayude a Karel a cumplir con lo anterior. Karel debe realizar
la misma accin 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.

Cdigo de la solucin:
iniciar-programa mientras frente-libre
y izquierda-libre
define-nueva-instruccin makekarel como y derecha-libre
inicio yalgun-zumbador-en-la-mochila hacer
mientras junto-a-zumbador hacer deja-zumbador;
coge-zumbador; siningun-zumbador-en-la-mochila
mientras frente-libre hacer inicio entoncesapagate;
avanza; fin;
mientras junto-a-zumbador hacer si frente-bloqueado y izquierda-bloqueada
coge-zumbador; entonces
mientras frente-libre repetir 3 veces gira-izquierda;
yalgun-zumbador-en-la-mochila fin;
y izquierda-libre
y derecha-libre hacer inicia-ejecucion
deja-zumbador; repetir 100 veces makekarel;
siningun-zumbador-en-la-mochila apagate;
y derecha-libre termina-ejecucion
y izquierda-libre entonces finalizar-programa
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;
Antes: Despus:

Conclusiones

Podemos crear un solo cdigo de Karel para que lo haga en semejantes mundos o
composiciones, esto sirve para que no se tenga que escribir mucho cdigo e
incluso el cdigo servira en otros mundos
Practica #10: Recoge Zumbadores

Descripcin:

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

Cdigo solucin

iniciar-programa fin;
define-nueva-instruccion esoeso como inicio mientras orientado-al-oeste y frente-
mientras izquierda-bloqueada y frente- bloqueado y izquierda-bloqueada y derecha-
bloqueado y derecha-libre hacer libre
repetir 3 veces gira-izquierda; hacer apagate;
mientras frente-libre o no-junto-a-zumbador si orientado-al-sur y frente-bloqueado y
hacer inicio izquierda-libre entonces inicio
avanza; gira-izquierda; avanza; gira-izquierda;
mientras junto-a-zumbador hacer coge- fin;
zumbador; si orientado-al-sur y izquierda-bloqueada y
mientras algun-zumbador-en-la-mochila y frente-bloqueado entonces
orientado-al-oeste y frente-bloqueado y repetir 3 veces gira-izquierda;
izquierda-bloqueada y derecha-libre si frente-bloqueado entonces inicio
hacer inicio repetir 2 veces gira-izquierda;
deja-zumbador; fin; fin;
fin; si orientado-al-sur y frente-bloqueado
mientras orientado-al-sur y izquierda- entonces inicio
bloqueada y derecha-bloqueada y frente- gira-izquierda; avanza;
bloqueado hacer inicio fin;
repetir 3 veces gira-izquierda; fin;
mientras algun-zumbador-en-la-mochila y inicia-ejecucion
orientado-al-oeste y frente-bloqueado y esoeso;
izquierda-bloqueada y derecha-libre apagate;
hacer termina-ejecucion
deja-zumbador; finalizar-programa
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;
Antes: Despus:

Conclusin:
la forma en la cual debemos fijarnos de que nuestro Karel coja zumbadores
aunque este encerrado totalmente.
Practica #11: La torre ms alta.

Descripcin:

Karel se ha ganado la fama de ser muy comeln y en Karelandia tienen el propsito


de hacer desaparecer una torre muy vieja y a punto de caerse, lo que tiene que
hacer Karel es ir a la parte ms alta de Karelandia y empezar a destruir la torre.
Escribir el programa que ayudara a Karel a que haga la solucin.

Cdigo de la solucin:
iniciar-programa finalizar-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
Antes Despus

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.
Practica #12: Sembrando

Descripcin:

Se le ha pedido a Karel que siembre zanahorias en un terreno rectangular de un


mnimo de 3x1 hasta un mximo de 9x10.

Cdigo solucin:

iniciar-programa gira-izquierda;
define-nueva-instruccion hazlo como inicio avanza;
mientras izquierda-bloqueada y frente-libre gira-izquierda;
hacer avanza;
avanza; fin;
si izquierda-libre entonces mientras derecha-bloqueada y frente-libre
gira-izquierda; hacer
si izquierda-libre y derecha-libre y frente-libre avanza;
entonces mientras izquierda-libre y orientado-al-sur y
avanza; algun-zumbador-en-la-mochila hacer
fin; deja-zumbador;
define-nueva-instruccion deja como inicio si ningun-zumbador-en-la-mochila entonces
mientras frente-bloqueado hacer apagate;
gira-izquierda; fin;
mientras frente-libre hacer inicio inicia-ejecucion
mientras no-junto-a-zumbador hacer mientras no-orientado-al-este hacer
deja-zumbador; gira-izquierda;
avanza; mientras izquierda-libre hacer inicio
fin; avanza;
si frente-bloqueado entonces inicio fin;
si no junto-a-zumbador entonces mientras junto-a-zumbador hacer inicio
deja-zumbador; coge-zumbador;
gira-izquierda; fin;
gira-izquierda; mientras frente-libre hacer inicio
fin; hazlo;
mientras frente-libre hacer fin;
avanza; si frente-bloqueado entonces inicio
si frente-bloqueado y derecha-libre entonces gira-izquierda;
repetir 3 veces mientras frente-libre hacer
gira-izquierda; avanza;
si frente-libre entonces fin;
avanza; mientras algun-zumbador-en-la-mochila
mientras no-orientado-al-norte hacer hacer inicio
gira-izquierda; deja;
si izquierda-bloqueada y junto-a-zumbador fin;
entonces inicio apagate;
mientras izquierda-bloqueada hacer termina-ejecucion
avanza; finalizar-programa
si izquierda-libre entonces
Antes Despus

Conclusin

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 tambin que sepa girar en
una esquina sin seguirse.
Practica #13: Paredes
Descripcin:

T y tu vecino siempre se haban llevado muy bien, pero cierto da, 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 construccin 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.

Cdigo solucin:

iniciar-programa si frente-bloqueado y orientado-al-oeste


define-nueva-instruccion derecha como inicio entonces inicio
gira-izquierda; si no-junto-a-zumbador entonces deja-
gira-izquierda; zumbador;
gira-izquierda; derecha;
fin; avanza;
define-nueva-instruccion sur como inicio derecha;
mientras no-orientado-al-sur hacer gira- pared;
izquierda; fin;
fin; si frente-bloqueado y orientado-al-este
define-nueva-instruccion norte como inicio entonces inicio
mientras no-orientado-al-norte hacer gira- si no-junto-a-zumbador entonces deja-
izquierda; zumbador;
fin; gira-izquierda;
define-nueva-instruccion oeste como inicio avanza;
mientras no-orientado-al-oeste hacer gira- gira-izquierda;
izquierda; pared;
fin; fin;
define-nueva-instruccion este como inicio
mientras no-orientado-al-este hacer gira- fin;
izquierda; fin;
fin; apagate;
fin;
define-nueva-instruccion vuelta como inicio
repetir 2 veces gira-izquierda; define-nueva-instruccion regresa como inicio
fin; vuelta;
mientras frente-libre hacer avanza;
define-nueva-instruccion pared como inicio si frente-bloqueado y izquierda-bloqueada
entonces inicio
mientras algun-zumbador-en-la-mochila oeste;
hacer inicio pared;
deja-zumbador; fin;
si frente-libre entonces inicio gira-izquierda;
avanza; avanza;
fin si no-junto-a-zumbador entonces avanza;
sino inicio gira-izquierda;
recoge;
fin; fin;
fin;

define-nueva-instruccion recoge como inicio


mientras junto-a-zumbador hacer inicio inicia-ejecucion
coge-zumbador; norte;
avanza; recoge;
si no-junto-a-zumbador entonces inicio termina-ejecucion
regresa; finalizar-programa
recoge;
fin;
fin;
si no-junto-a-zumbador entonces inicio
este;
avanza;
norte;
Antes Despus

Conclusin:

Nos ense a acomodar nmeros de zumbadores correctamente y que no sobre


ni uno ni falte.
Practica #14: Medias pirmides

Descripcin

Es bien sabido que en la ciudad de Karelotitlan todos los habitantes tienen sus
casas en forma de pirmides, sin embargo, el excntrico Karelerac quiere ser
diferente a los dems y desea construir su casa con slo la mitad de una pirmide.

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

Cdigo de la solucin:

iniciar-programa norte;
define-nueva-instruccion derecha como inicio fin;
gira-izquierda;
gira-izquierda; define-nueva-instruccion checarlado como
gira-izquierda; inicio
fin; oeste;
define-nueva-instruccion sur como inicio si frente-libre entonces inicio
mientras no-orientado-al-sur hacer gira- avanza;
izquierda; si junto-a-zumbador entonces inicio
fin; este;
define-nueva-instruccion norte como inicio avanza;
mientras no-orientado-al-norte hacer gira- si ningun-zumbador-en-la-mochila entonces
izquierda; apagate;
fin; si no-junto-a-zumbador y algun-zumbador-
define-nueva-instruccion oeste como inicio en-la-mochila entonces deja-zumbador;
mientras no-orientado-al-oeste hacer gira- norte;
izquierda; avanza;
fin; checarlado;
define-nueva-instruccion este como inicio fin
mientras no-orientado-al-este hacer gira- sino inicio
izquierda; este;
fin; avanza;
si ningun-zumbador-en-la-mochila entonces
define-nueva-instruccion vuelta como inicio apagate;
repetir 2 veces gira-izquierda; si no-junto-a-zumbador y algun-zumbador-
fin; en-la-mochila entonces deja-zumbador;
regresa;
checarlado;
define-nueva-instruccion regresa como inicio fin;
sur; fin
mientras frente-libre hacer avanza; sino inicio
gira-izquierda; vuelta;
si frente-libre entonces inicio avanza;
avanza; norte;
fin si ningun-zumbador-en-la-mochila entonces
sino inicio apagate;
apagate; checarlado;
fin; fin;
fin;
define-nueva-instruccion piramide fin;
como inicio inicia-ejecucion
si ningun-zumbador-en-la-mochila entonces norte;
apagate; piramide;
si no-junto-a-zumbador y algun-zumbador- apagate;
en-la-mochila entonces deja-zumbador; termina-ejecucion
checarlado; finalizar-programa

Solucin

Conclusiones:

Se vio como Karel puede empezar poniendo zumbadores en forma de pirmide


ascendente rectificando lados, orientacin y zumbadores que trae y que no est
sobre ellos.
Practica #15: Sedimarip Saidem.

El malvado Carelerak, hermano gemelo de Karelerac, ha descubierto que su


hermano ha construido una media pirmide en el otro extremo de la ciudad.

Enojado, ha decido construir su propia media pirmide, pero para evitar que lo
acusen de plagio, la va a hacer creciente hacia la izquierda, y le llamar Sedimrip
Saidem. Ayuda a Carelerak a construir su Sedimrip Saidem creciente hacia la
izquierda con los zumbadores que tiene en la mochila.

Cdigo de solucin:
Iniciar-programa
define-nueva-instruccion derecha como inicio sal-de-instruccion;
gira-izquierda; fin;
gira-izquierda; norte;
gira-izquierda; avanza;
fin; este;
define-nueva-instruccion sur como inicio si ningun-zumbador-en-la-mochila entonces apagate;
mientras no-orientado-al-sur hacer gira-izquierda; si no-junto-a-zumbador y algun-zumbador-en-la-
fin; mochila entonces deja-zumbador;
define-nueva-instruccion norte como inicio regresados;
mientras no-orientado-al-norte hacer gira-izquierda; fin;
fin;
define-nueva-instruccion oeste como inicio
mientras no-orientado-al-oeste hacer gira-izquierda;
fin; define-nueva-instruccion fijate como inicio
define-nueva-instruccion este como inicio este;
mientras no-orientado-al-este hacer gira-izquierda; mientras frente-libre y junto-a-zumbador hacer inicio
fin; si frente-bloqueado y orientado-al-este entonces
apagate;
define-nueva-instruccion vuelta como inicio avanza;
repetir 2 veces gira-izquierda; si ningun-zumbador-en-la-mochila entonces apagate;
fin; si no-junto-a-zumbador y algun-zumbador-en-la-
mochila entonces inicio
deja-zumbador;
define-nueva-instruccion regresa como inicio regresados;
sur; regresa;
mientras frente-libre hacer avanza; fin;
gira-izquierda; fin;
fin; si frente-bloqueado y orientado-al-este entonces
apagate;
define-nueva-instruccion regresados como inicio fin;
oeste;
si frente-libre entonces inicio define-nueva-instruccion piramide-rara como inicio
avanza; si ningun-zumbador-en-la-mochila entonces apagate;
fin si no-junto-a-zumbador y algun-zumbador-en-la-
sino inicio mochila entonces deja-zumbador;
fijate; piramide-rara;
fin; apagate;
inicia-ejecucion termina-ejecucion
norte; finalizar-programa

Solucin

Conclusiones

Es el mismo problema pero a la inversa que el de medias pirmides, pero el cdigo del
anterior no coincidi con este, asi que se tuvo que realizar otro cdigo un poco mas
complejo.

Potrebbero piacerti anche