Recoge los zumbadores
Descripción del problema:
- Karel se encuentra inicialmente orientado hacia el NORTE, en la esquina inferior izquierda de un cuarto rectangular.
- El cuarto rectangular puede tener cualquier medida de 1x1 hasta 20x20.
- Hay varios zumbadores tirados en el cuarto, en varias posiciones del mismo.
- Debes hacer un programa que haga que Karel recorra todo el cuarto y recoja todos los zumbadores que encuentre.
- Una vez que tenga todos los zumbadores deberá depositarlos en la esquina inferior izquierda del cuarto y apagarse.
- No importa la dirección con la que termine Karel.
El siguiente es la imagen
del mundo de ejemplo.
|
Solución para el mundo de
ejemplo:
Si tu programa funciona correctamente, al final de la ejecución se debe observar como en la siguiente imagen. (No importa hacia donde quede orientado Karel). |
iniciar-programa
ResponderEliminardefine-nueva-instruccion caminaAvanza como inicio
mientras junto-a-zumbador hacer inicio
coge-zumbador;
fin;
mientras frente-libre hacer inicio
avanza;
mientras junto-a-zumbador hacer inicio
coge-zumbador;
fin;
fin;
fin;
define-nueva-instruccion GirarAvanzar como inicio
mientras no-orientado-al-este hacer inicio
caminaAvanza;
si derecha-libre entonces inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
caminaAvanza;
si izquierda-libre entonces inicio
gira-izquierda;
avanza;
gira-izquierda;
fin
sino inicio
gira-izquierda;
fin;
fin
sino inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
fin;
fin;
fin;
define-nueva-instruccion regresa como inicio
gira-izquierda;
gira-izquierda;
mientras frente-libre hacer inicio
avanza;
fin;
gira-izquierda;
mientras frente-libre hacer inicio
avanza;
fin;
fin;
define-nueva-instruccion dejarZumbadores como inicio
mientras algun-zumbador-en-la-mochila hacer inicio
deja-zumbador;
fin;
fin;
inicia-ejecucion
GirarAvanzar;
regresa;
dejarZumbadores;
apagate;
termina-ejecucion
finalizar-programa