iniciar-programa
   define-nueva-instruccion norte como inicio
       mientras  no-orientado-al-norte 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 sur como inicio
           mientras no-orientado-al-sur hacer inicio
                   gira-izquierda;
           fin;
   fin;
     define-nueva-instruccion ir-11 como inicio
                   sur;
         mientras frente-libre hacer inicio
                   avanza;
         fin;
                   oeste;

         mientras frente-libre hacer inicio
                   avanza;
        fin;
        norte;
      fin;
      define-nueva-instruccion marcar(n) como inicio
                   norte;
          mientras frente-libre hacer inicio
              repetir n veces inicio
               si frente-libre entonces inicio
                    avanza;
               fin;
             fin;
             deja-zumbador;
         fin;
      fin;
      define-nueva-instruccion toma1(n) como inicio
        si junto-a-zumbador entonces inicio
                    coge-zumbador;
                    toma1(sucede(n));
        fin sino inicio
                    marcar(n);
        fin;
     fin;

      define-nueva-instruccion ir-12 como inicio
                     ir-11;
                     este;
                     avanza;
     fin;
      define-nueva-instruccion busca-zumbador(n) como inicio
                     ir-11;
                     norte;
              mientras no-junto-a-zumbador hacer inicio
                 repetir n veces inicio
                     avanza;
                 fin;
              fin;
              sur;
     fin;
     define-nueva-instruccion contar como inicio
         si frente-libre entonces inicio
                     avanza;
                     contar;
                     deja-zumbador;
         fin sino inicio
                     este;
                     avanza;
                     avanza;
             fin;
     fin;
     define-nueva-instruccion tomo2(n) como inicio
                     norte;
         si junto-a-zumbador entonces inicio
                     coge-zumbador;
                     tomo2(sucede(n));
         fin sino inicio
                     busca-zumbador(n);
         fin;
      fin;
      inicia-ejecucion
                    ir-11;
                    toma1(0);
                    ir-12;
                    tomo2(0);
                    sur;
                    contar;

        apagate;
    termina-ejecucion
finalizar-programa
