iniciar-programa
    inicia-ejecucion
        mientras no-orientado-al-sur hacer gira-izquierda;
        mientras frente-libre hacer avanza;
        mientras no-orientado-al-oeste hacer gira-izquierda;
        mientras frente-libre hacer avanza;
        mientras no-orientado-al-norte hacer gira-izquierda;

        Mientras derecha-libre hacer inicio

        Mientras frente-libre hacer inicio
        si frente-libre y no-junto-a-zumbador entonces avanza;
        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;
        apagate;
        fin sino inicio
        repetir 2 veces deja-zumbador;
        fin;
        fin sino inicio
        deja-zumbador;
        fin;
        fin sino inicio
        si frente-libre entonces avanza;
        fin;
        si frente-libre entonces avanza;
        fin;

        mientras frente-bloqueado hacer inicio
        repetir 3 veces gira-izquierda;
        si frente-libre entonces avanza;
        repetir 3 veces gira-izquierda;
        mientras frente-libre hacer avanza;
        mientras no-orientado-al-norte hacer gira-izquierda;
        fin;

        fin;

        Mientras frente-libre hacer inicio
        si frente-libre y no-junto-a-zumbador entonces avanza;
        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;
        apagate;
        fin sino inicio
        repetir 2 veces deja-zumbador;
        fin;
        fin sino inicio
        deja-zumbador;
        fin;
        fin sino inicio
        si frente-libre entonces avanza;
        fin;
        si frente-libre entonces avanza;
        fin;

        apagate;
    termina-ejecucion
finalizar-programa