 iniciar-programa
define-nueva-instruccion media-vuelta como repetir 2 veces gira-izquierda;
define-nueva-instruccion gira-derecha como repetir 3 veces gira-izquierda;
inicia-ejecucion
    mientras no-orientado-al-este hacer gira-derecha;

    mientras no-junto-a-zumbador hacer inicio

    si izquierda-libre y derecha-bloqueada y frente-bloqueado y no-junto-a-zumbador entonces
    inicio
    gira-izquierda;
    avanza;
    fin;

    si izquierda-libre y derecha-libre y frente-bloqueado y no-junto-a-zumbador entonces
    inicio
    gira-izquierda;
    avanza;
    fin;

    si izquierda-bloqueada y derecha-libre y frente-bloqueado y no-junto-a-zumbador entonces
    inicio
    gira-derecha;
    avanza;
    fin;

    si izquierda-libre y derecha-bloqueada y frente-libre y no-junto-a-zumbador entonces
    inicio
    gira-izquierda;
    avanza;
    fin;

    si izquierda-libre y derecha-libre y frente-libre y no-junto-a-zumbador entonces
    inicio
    gira-izquierda;
    avanza;
    fin;

    si izquierda-bloqueada y derecha-libre y frente-libre y no-junto-a-zumbador entonces
    inicio
    avanza;
    fin;

    si izquierda-bloqueada y derecha-bloqueada y frente-bloqueado y no-junto-a-zumbador entonces
    inicio
    media-vuelta;
    avanza;
    fin;

    si izquierda-bloqueada y derecha-bloqueada y frente-libre y no-junto-a-zumbador entonces
    inicio
    avanza;
    fin;

    fin;
        apagate;
    termina-ejecucion
finalizar-programa

