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 oeste como inicio
     mientras no-orientado-al-oeste 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 ir11 como inicio
       oeste;
       mientras frente-libre hacer inicio
          avanza;
       fin;
       sur;
       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
         si frente-libre entonces inicio
             avanza;
             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 ir12 como inicio
           ir11;
           este;
           avanza;
        fin;
        define-nueva-instruccion busca-zumbador(n) como inicio
           ir11;
           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 toma2(n) como inicio
             norte;
             si junto-a-zumbador entonces inicio
                coge-zumbador;
                toma2(sucede(n));
              fin sino inicio
                busca-zumbador(n);
               fin;
             fin;

 inicia-ejecucion
 ir11;
 toma1(0);
 ir12;
 toma2(0);
 sur;
 contar;
     apagate;
    termina-ejecucion
finalizar-programa
