iniciar-programa
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 norte como inicio
mientras no-orientado-al-norte hacer inicio
   gira-izquierda;
   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 tomo1(n) como inicio
       si junto-a-zumbador entonces inicio
          coge-zumbador;
          tomo1(sucede(n));
          fin sino inicio
              marcar(n)
          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 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 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
    ir11;
    tomo1(0);
    ir12;
    tomo2(0);
    sur;
    contar;

        apagate;
    termina-ejecucion
finalizar-programa
