iniciar-programa
 define-nueva-instruccion norte como inicio
     mientras no-orientado-al-norte hacer inicio
         gira-izquierda;
     fin;
 fin;
 define-nueva-instruccion sur como inicio
     mientras no-orientado-al-sur hacer inicio
         gira-izquierda;
     fin;
 fin;
 define-nueva-instruccion este como inicio
     mientras no-orientado-al-este hacer inicio
         gira-izquierda;
     fin;
 fin;
 define-nueva-instruccion oeste como inicio
     mientras no-orientado-al-oeste hacer inicio
         gira-izquierda;
     fin;
 fin;
 define-nueva-instruccion camina como inicio
     si derecha-bloqueada entonces inicio
         avanza;
     fin sino inicio
         avanza;
         si derecha-libre entonces inicio
             repetir 2 veces gira-izquierda;
             avanza;
             gira-izquierda;
             avanza;
         fin;
     fin;
 fin;
 define-nueva-instruccion recorre(n) como inicio
     mientras no-junto-a-zumbador hacer inicio
         deja-zumbador;
         repetir n veces inicio
             deja-zumbador;
             camina;
         fin;
     fin;
 fin;
 define-nueva-instruccion cuenta(n) como inicio
     si junto-a-zumbador entonces inicio
         coge-zumbador;
         cuenta(sucede(n));
     fin sino inicio
         norte;
         avanza;
         recorre(n);
     fin;
 fin;
 define-nueva-instruccion leer como inicio
     este;
     avanza;
     cuenta(0);
 fin;
 define-nueva-instruccion ve-a-1-1 como inicio
     oeste;
     mientras frente-libre hacer inicio
         avanza;
     fin;
     sur;
     mientras frente-libre hacer inicio
         avanza;
     fin;
     gira-izquierda;
 fin;
 define-nueva-instruccion recoge como inicio
     si junto-a-zumbador entonces inicio
         coge-zumbador;
         si junto-a-zumbador entonces inicio
             coge-zumbador;
             recoge;
             ve-a-1-1;
             repetir 2 veces avanza;
             deja-zumbador;
         fin sino inicio
             recoge;
             ve-a-1-1;
             repetir 3 veces avanza;
             deja-zumbador;
         fin;
     fin sino inicio
         camina;
         si junto-a-zumbador entonces inicio
             recoge;
         fin;
     fin;
 fin;
    inicia-ejecucion
        leer;
        norte;
        recoge;
        apagate;
    termina-ejecucion
finalizar-programa
