iniciar-programa
    inicia-ejecucion
    mientras no-orientado-al-este hacer inicio
    gira-izquierda;
    fin;
    mientras frente-libre hacer inicio
    avanza;
    fin;
    gira-izquierda;
    mientras frente-libre hacer inicio
    avanza;
    fin;
    mientras frente-bloqueado y orientado-al-norte hacer inicio
    gira-izquierda;
    mientras no-junto-a-zumbador y frente-libre hacer inicio
    avanza;
    fin;
    mientras (no-junto-a-zumbador y frente-bloqueado) y orientado-al-oeste hacer inicio
    gira-izquierda;
    avanza;
    repetir 3 veces inicio
    gira-izquierda;
    fin;
    si frente-bloqueado entonces inicio
    apagate;
    fin;
    avanza;
    repetir 3 veces inicio
    gira-izquierda;
    fin;
    avanza;
    fin;
    si junto-a-zumbador y orientado-al-oeste entonces inicio
    repetir 2 veces inicio
    gira-izquierda;
    fin;
    mientras frente-libre hacer inicio
    avanza;
    fin;
    repetir 3 veces inicio
    gira-izquierda;
    fin;
    avanza;
    repetir 2 veces inicio
    gira-izquierda;
    fin;
    deja-zumbador;
    avanza;
    mientras izquierda-libre y orientado-al-norte hacer inicio
    gira-izquierda;
    avanza;
    gira-izquierda;
    avanza;
    repetir 2 veces inicio
    gira-izquierda;
    fin;
    deja-zumbador;
    avanza;
    fin;
    si izquierda-bloqueada entonces inicio
    repetir 2 veces inicio
    gira-izquierda;
    fin;
    avanza;
    repetir 3 veces inicio
    gira-izquierda;
    fin;
    si frente-bloqueado entonces inicio
    apagate;
    fin;
    avanza;
    repetir 3 veces inicio
    gira-izquierda;
    fin;
    avanza;
    fin;

    fin;

    fin;


        apagate;
    termina-ejecucion
finalizar-programa
 