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 c1a1 como inicio
         sur;
         mientras frente-libre hacer
            avanza;
         oeste;
         mientras frente-libre hacer
            avanza;
         norte;
    fin;
     define-nueva-instruccion rellenar como inicio
       si no-junto-a-zumbador entonces inicio
          deja-zumbador;
          rellenar;
       fin
       sino inicio
          norte;
          si frente-libre entonces inicio
             avanza;
          si no-junto-a-zumbador entonces
             rellenar;
          sur;
           si frente-libre entonces inicio
             avanza;
           si no-junto-a-zumbador entonces
              rellenar;
          fin;
          fin;
          este;
          si frente-libre entonces inicio
             avanza;
          si no-junto-a-zumbador entonces
             rellenar;
          oeste;
           si frente-libre entonces inicio
             avanza;
          fin;
          fin;
          sur;
           si frente-libre entonces inicio
             avanza;
          si no-junto-a-zumbador entonces
             rellenar;
          norte;
           si frente-libre entonces inicio
             avanza;
          fin;
          fin;
          oeste;
           si frente-libre entonces inicio
             avanza;
          si no-junto-a-zumbador entonces
             rellenar;
          este;
           si frente-libre entonces inicio
             avanza;
          fin;
          fin;
       fin;
    fin;
       define-nueva-instruccion busca como inicio
       mientras frente-libre y junto-a-zumbador hacer inicio
           avanza;
           si no-junto-a-zumbador entonces inicio
               rellenar;
               c1a1;
               deja-zumbador;
               busca;
           fin;
      fin;
      si frente-bloqueado y derecha-libre entonces inicio
          sur;
          mientras frente-libre hacer
              avanza;
          este;
          avanza;
          norte;
          busca;
       fin;
    fin;
    inicia-ejecucion
          si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada y no-junto-a-zumbador entonces
             apagate;
         si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada y junto-a-zumbador entonces inicio
            coge-zumbador;
            apagate;
         fin;
         norte;
         c1a1;
         si junto-a-zumbador entonces
            coge-zumbador;
         rellenar;
          c1a1;
        rellenar;
        c1a1;
         busca;
         c1a1;
        coge-zumbador; 
        apagate;
    termina-ejecucion
finalizar-programa
