iniciar-programa
define-nueva-instruccion gira(x) como repetir x veces gira-izquierda;
    define-nueva-instruccion busca como inicio
        mientras frente-libre  hacer avanza;
        si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada y no-junto-a-zumbador entonces deja-zumbador;
        gira(2);
         mientras frente-libre hacer avanza;
          si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada y no-junto-a-zumbador entonces deja-zumbador;
        gira(1);
        si frente-libre entonces inicio
       si frente-libre  entonces avanza;
        si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada y no-junto-a-zumbador entonces deja-zumbador;
            si derecha-libre entonces inicio
                gira(3);
               si frente-libre  entonces avanza;
                si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada y no-junto-a-zumbador entonces deja-zumbador;
                si derecha-libre entonces inicio
                    gira(3);
                    si frente-libre entonces avanza;
                     si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada y no-junto-a-zumbador entonces deja-zumbador;
                    gira(1);
                fin sino inicio
                   gira(1);
                fin;
            fin sino inicio
            gira(1);
            fin;
          fin sino inicio
          gira(2);
          fin;
    fin;
    inicia-ejecucion
        mientras frente-libre hacer avanza;
        gira(2);
       repetir 250 veces busca;
       si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada y junto-a-zumbador entonces inicio
           gira(2);
           si frente-bloqueado entonces inicio
               si junto-a-zumbador entonces coge-zumbador;
           fin;
       fin;
        apagate;
    termina-ejecucion
finalizar-programa
