iniciar-programa
define-nueva-instruccion oeste como inicio
    mientras no-orientado-al-oeste hacer gira-izquierda;
fin;
define-nueva-instruccion este como inicio
    mientras no-orientado-al-este hacer gira-izquierda;
fin;
define-nueva-instruccion norte como inicio
    mientras no-orientado-al-norte hacer gira-izquierda;
fin;
define-nueva-instruccion sur como inicio
    mientras no-orientado-al-sur hacer gira-izquierda;
fin;
define-nueva-instruccion novia como inicio
    si junto-a-zumbador entonces inicio
    coge-zumbador;
    si junto-a-zumbador entonces inicio
        coge-zumbador;
        si junto-a-zumbador entonces inicio
            deja-zumbador;
            deja-zumbador;
            apagate;
        fin
        sino inicio
            deja-zumbador;
            deja-zumbador;
        fin;
    fin
    sino inicio
        deja-zumbador
    fin;
     fin
    sino inicio

    fin;
fin;
    inicia-ejecucion
        oeste;
        mientras frente-libre hacer avanza;
        sur;
        mientras frente-libre hacer avanza;
        norte;
        novia;
        mientras frente-libre o derecha-libre hacer inicio
            novia;
            si frente-libre entonces avanza;
            novia;
        si frente-bloqueado entonces inicio
        sur;
        mientras frente-libre hacer avanza;
        este;
        si frente-libre entonces avanza;
        norte;
       fin;
       novia;
        fin;

    termina-ejecucion
finalizar-programa
