iniciar-programa
    define-nueva-instruccion norte como inicio
        mientras no orientado-al-norte 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 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 Instru como inicio
         si no junto-a-zumbador entonces inicio
           oeste;
           mientras frente-libre hacer inicio
               avanza;
           fin;
           este;
           mientras  frente-libre y derecha-bloqueada hacer inicio
               avanza;
           fin;
           si orientado-al-este y frente-bloqueado y derecha-bloqueada entonces inicio
               deja-zumbador;
           fin;
           si derecha-libre y orientado-al-este entonces inicio
               sur;
               si izquierda-libre o derecha-libre entonces inicio
                   avanza;
               fin;
           fin;
           si orientado-al-sur y derecha-bloqueada y izquierda-bloqueada entonces inicio
               avanza;
               instru;
               oeste;
               mientras frente-libre hacer inicio
                   avanza;
               fin;
               deja-zumbador;
           fin;
       instru;
       fin;

    fin;


    define-nueva-instruccion colocar como inicio
        mientras no junto-a-zumbador hacer inicio
        este;
        mientras frente-libre hacer inicio
            avanza;
        fin;
        oeste;
        mientras frente-libre y derecha-bloqueada hacer inicio
            avanza;
        fin;
        si frente-bloqueado y orientado-al-oeste y derecha-bloqueada entonces inicio
            deja-zumbador;
        fin;
        si orientado-al-oeste entonces inicio
            norte;
            mientras frente-libre hacer inicio
                avanza;
            fin;

        fin;
        fin;
    fin;


    inicia-ejecucion
        colocar;
        coge-zumbador;
        instru;
        este;
        mientras frente-libre hacer inicio
            avanza;
        fin;
        coge-zumbador;
        apagate;
    termina-ejecucion
finalizar-programa
