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;
 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 ir12 como inicio
      ir11;
      este;
      avanza;
 fin;
define-nueva-instruccion buscazumbador(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
 buscazumbador(n);
 fin;
 fin;                    
inicia-ejecucion
ir11;
toma1(0);
ir12;
toma2(0);
sur;
contar;
termina-ejecucion
finalizar-programa
