iniciar-programa
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 izquierda como inicio
   oeste;
   si frente-libre entonces avanza;
   si junto-a-zumbador entonces inicio
   si junto-a-zumbador entonces coge-zumbador;
   si frente-libre entonces avanza;

   mientras frente-libre y junto-a-zumbador hacer avanza;

   si no junto-a-zumbador entonces inicio
       repetir 2 veces gira-izquierda;
       si frente-libre entonces avanza;

   fin;
   norte;
   si frente-libre entonces avanza;
   mientras junto-a-zumbador hacer inicio
       coge-zumbador;
       si frente-libre entonces avanza;
   fin;
   repetir 2 veces gira-izquierdA;
   mientras no junto-a-zumbador y frente-libre hacer avanza;
   este;
   mientras junto-a-zumbador hacer inicio
       coge-zumbador;
       si frente-libre entonces avanza;
   fin;
   fin;
   este;
   si frente-libre entonces avanza;
fin;

define-nueva-instruccion derecha como inicio
   este;
   si frente-libre entonces avanza;
   si junto-a-zumbador y frente-libre entonces inicio
   si junto-a-zumbador entonces coge-zumbador;
   si frente-libre entonces avanza;

   mientras frente-libre y junto-a-zumbador hacer avanza;

   si no junto-a-zumbador entonces inicio
       repetir 2 veces gira-izquierda;
       si frente-libre entonces avanza;

   fin;
   norte;
   si frente-libre entonces avanza;
   mientras junto-a-zumbador hacer inicio
       coge-zumbador;
       si frente-libre entonces avanza;
   fin;
   repetir 2 veces gira-izquierdA;
   mientras no junto-a-zumbador y frente-libre hacer avanza;
   oeste;
   mientras junto-a-zumbador hacer inicio
       coge-zumbador;
       si frente-libre entonces avanza;
   fin;
   fin;
   oeste;
   si frente-libre y no junto-a-zumbador entonces avanza;
   norte;
   si frente-libre entonces avanza;
fin;
    inicia-ejecucion
    este;
    mientras no junto-a-zumbador y frente-libre hacer avanza;
    norte;
    mientras junto-a-zumbador hacer inicio
        izquierda;
        derecha;
    fin;
    sur;
    mientras frente-libre hacer avanza;
    oeste;
    mientras frente-libre hacer avanza;
    mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
        apagate;
    termina-ejecucion
finalizar-programa
