iniciar-programa
define-nueva-instruccion salta-pared como inicio
mientras no orientado-al-norte hacer inicio
gira-izquierda;
fin;
mientras frente-libre y derecha-bloqueada hacer inicio
avanza;
fin;
mientras derecha-libre hacer inicio
mientras no orientado-al-este hacer inicio
gira-izquierda;
fin;
avanza;
mientras no orientado-al-sur hacer inicio
gira-izquierda;
fin;
mientras frente-libre hacer inicio
avanza;
fin;
fin;
fin;
define-nueva-instruccion busca-pared como inicio
mientras frente-libre hacer inicio
avanza;
fin;
fin;
define-nueva-instruccion   toma-zumbador como inicio
mientras no orientado-al-este hacer inicio
gira-izquierda;
fin;
mientras frente-libre y no junto-a-zumbador hacer inicio
avanza;
fin;
mientras junto-a-zumbador hacer inicio
coge-zumbador
fin;
fin;
define-nueva-instruccion descargar como inicio
mientras no orientado-al-este hacer inicio
gira-izquierda;
fin;
mientras frente-libre y junto-a-zumbador hacer inicio
avanza;
fin;
mientras algun-zumbador-en-la-mochila hacer inicio
deja-zumbador;
fin;
fin;
define-nueva-instruccion regresa como inicio
mientras no orientado-al-oeste hacer inicio
gira-izquierda;
fin;
mientras frente-libre  hacer inicio
avanza;
fin;
mientras no orientado-al-norte hacer inicio
gira-izquierda;
fin;
mientras frente-libre y izquierda-bloqueada hacer inicio
avanza;
fin;
mientras izquierda-libre hacer inicio
mientras no orientado-al-oeste hacer inicio
gira-izquierda;
fin;
avanza;
mientras no orientado-al-sur hacer inicio
gira-izquierda;
fin;
mientras frente-libre hacer inicio
avanza;
fin;
fin;
mientras no orientado-al-oeste hacer inicio
gira-izquierda;
fin;
mientras frente-libre hacer inicio
avanza;
fin;
fin;
inicia-ejecucion


mientras frente-libre hacer inicio
toma-zumbador;
busca-pared;
salta-pared;   
descargar;
regresa;
mientras no-orientado-al-este hacer inicio
gira-izquierda;
fin;
mientras frente-libre y no-junto-a-zumbador hacer inicio
avanza;
fin;
fin;

si junto-a-zumbador entonces inicio
toma-zumbador;
busca-pared;
salta-pared;
descargar;
regresa;
fin;
apagate;
    termina-ejecucion
finalizar-programa
  