  iniciar-programa
    define-nueva-instruccion norte como mientras no-orientado-al-norte hacer gira-izquierda;
    define-nueva-instruccion sur como mientras no-orientado-al-sur hacer gira-izquierda;
    define-nueva-instruccion este como mientras no-orientado-al-este hacer gira-izquierda;
    define-nueva-instruccion oeste como mientras no-orientado-al-oeste hacer gira-izquierda;

      define-nueva-instruccion menor(n) como inicio
          si no si-es-cero(n)entonces inicio
          si junto-a-zumbador entonces inicio
              coge-zumbador;
              menor(precede(n));
              deja-zumbador;
          fin ;
          fin sino inicio
          mientras junto-a-zumbador hacer coge-zumbador;
          fin;
      fin;
      define-nueva-instruccion buscar(n) como inicio
          si junto-a-zumbador entonces inicio
              coge-zumbador;
              si junto-a-zumbador entonces inicio
              coge-zumbador;
              si junto-a-zumbador entonces inicio
                  repetir 2 veces deja-zumbador;
                  menor(n);

              fin sino inicio
                  repetir n veces deja-zumbador;
              fin;
              fin sino inicio
                  deja-zumbador;
              fin;
          fin sino inicio
          deja-zumbador;
          norte;
          si frente-libre entonces inicio
              avanza;
              buscar(sucede(n));
              sur;
              avanza;
          fin;
          sur;
          si frente-libre entonces inicio
              avanza;
              buscar(sucede(n));
              norte;
              avanza;
          fin;
          este;
          si frente-libre entonces inicio
              avanza;
              buscar(sucede(n));
              oeste;
              avanza;
          fin;
          oeste;
          si frente-libre entonces inicio
              avanza;
              buscar(sucede(n));
              este;
              avanza;
          fin;
          coge-zumbador;
          fin;
      fin;
    inicia-ejecucion

        buscar(0);
        apagate;
    termina-ejecucion
finalizar-programa

