iniciar-programa
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 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 recoge como inicio
si algun-zumbador-en-la-mochila entonces inicio
deja-zumbador;

recoge;
si no junto-a-zumbador y frente-libre entonces
avanza;
si junto-a-zumbador entonces inicio
coge-zumbador;
si no junto-a-zumbador y frente-libre entonces
avanza;
coge-zumbador;
fin;

fin;
fin;

define-nueva-instruccion escora como inicio
  mientras no junto-a-zumbador y frente-libre hacer
  avanza;
 si junto-a-zumbador entonces inicio
 mientras junto-a-zumbador hacer
 coge-zumbador;
 oeste;
 mientras frente-libre hacer
 avanza;
 mientras junto-a-zumbador hacer inicio
 este;
 si frente-libre entonces
 avanza;
 fin;
 mientras algun-zumbador-en-la-mochila hacer
 deja-zumbador;
 fin;
 este;
 si frente-libre entonces
 avanza;
 mientras no junto-a-zumbador y frente-libre hacer
  avanza;
  si frente-bloqueado y no junto-a-zumbador entonces
  apagate;
  si frente-bloqueado y junto-a-zumbador entonces inicio
  mientras junto-a-zumbador hacer
  coge-zumbador;
  oeste;
  mientras no junto-a-zumbador hacer
  avanza;
  este;
  si frente-libre entonces
  avanza;
  mientras algun-zumbador-en-la-mochila hacer
  deja-zumbador;
  apagate;
  fin;

  escora;
 fin;



    inicia-ejecucion
    si ningun-zumbador-en-la-mochila entonces
        apagate;
    recoge;
    oeste;
    mientras frente-libre hacer
    avanza;
    norte;
    si frente-libre entonces
    avanza;
    mientras algun-zumbador-en-la-mochila hacer
    deja-zumbador;
    sur;
    si frente-libre entonces
    avanza;
    este;
    escora;


        apagate;
    termina-ejecucion
finalizar-programa

