iniciar-programa
 define-nueva-instruccion norte como mientras no-orientado-al-norte hacer gira-izquierda;
 define-nueva-instruccion sur como mientras no-orientado-al-sur hacer gira-izquierda;
 define-nueva-instruccion este como mientras no-orientado-al-este hacer gira-izquierda;
 define-nueva-instruccion oeste como mientras no-orientado-al-oeste hacer gira-izquierda;
 define-nueva-instruccion al-frente como mientras frente-libre hacer avanza;
 define-nueva-instruccion compara(n) como inicio
     si junto-a-zumbador y no si-es-cero (n) entonces inicio
         coge-zumbador;
         compara(precede(n));
     fin sino inicio
         si no si-es-cero (n) entonces inicio
                 (*ME QUEDAN N ESPACIOS LIBRES*)
             repetir n veces deja-zumbador;
             apagate;
         fin sino inicio
                 (*NO HAY ESPACIOS LIBREE*)
             apagate;
         fin;
     fin;
 fin;
 define-nueva-instruccion lee-mochila(n) como inicio
     si algun-zumbador-en-la-mochila entonces inicio
         repetir 2 veces deja-zumbador;
         lee-mochila(sucede(n));
     fin sino inicio
         mientras junto-a-zumbador hacer coge-zumbador;
         sur;
         al-frente;
         oeste;
         al-frente;
         compara(n);
     fin;
 fin;
 define-nueva-instruccion vertical como inicio
     si frente-libre entonces inicio
         avanza;
         vertical;
         avanza;
     fin sino inicio
         norte;
         deja-zumbador;
     fin;
 fin;
 define-nueva-instruccion horizontal como inicio
     si frente-libre entonces inicio
         avanza;
         horizontal;
         avanza;
     fin sino inicio
         sur;
         vertical;
         este;
     fin;
 fin;
 define-nueva-instruccion incrementa como inicio
     oeste;
     horizontal;

 fin;
 define-nueva-instruccion busca-peces como inicio
     si junto-a-zumbador entonces inicio
         coge-zumbador;
         si junto-a-zumbador entonces inicio
                 (*ESTOY JUNTO A UN PEZ*)
             incrementa;
             busca-peces;
         fin sino inicio
                 (*ESTOY EN MI LAGO*)
             norte;
             si frente-libre entonces inicio
                 avanza;
                 busca-peces;
                 sur;
                 avanza;
             fin;
             sur;
             si frente-libre entonces inicio
                 avanza;
                 si frente-libre o derecha-libre entonces inicio
                     busca-peces;
                     norte;
                     avanza;
                 fin sino inicio
                     norte;
                     avanza;
                 fin;
             fin;
             este;
             si frente-libre entonces inicio
                 avanza;
                 busca-peces;
                 oeste;
                 avanza;
             fin;
             oeste;
             si frente-libre entonces inicio
                 avanza;
                 si frente-libre o izquierda-libre entonces inicio
                     busca-peces;
                     este;
                     avanza;
                 fin sino inicio
                     este;
                     avanza;
                 fin;
             fin;
         fin;
     fin;
 fin;

    inicia-ejecucion
        busca-peces;
        lee-mochila(0);
        apagate;
    termina-ejecucion
finalizar-programa
