iniciar-programa
define-nueva-instruccion salida como inicio
si (no-junto-a-zumbador y frente-bloqueado) y ((orientado-al-norte y derecha-bloqueada) o (orientado-al-sur y izquierda-bloqueada))entonces
repetir 2 veces gira-izquierda;
si izquierda-libre entonces gira-izquierda;
si derecha-libre entonces
repetir 3 veces gira-izquierda;
mientras (no-junto-a-zumbador y frente-libre) y ((derecha-bloqueada y orientado-al-norte) o (izquierda-bloqueada y orientado-al-sur)) hacer avanza;
si derecha-libre y orientado-al-norte entonces
repetir 3 veces gira-izquierda;
si izquierda-libre y orientado-al-sur entonces gira-izquierda;
fin;
    inicia-ejecucion
    mientras no-junto-a-zumbador hacer inicio
    mientras frente-libre y no-junto-a-zumbador hacer avanza;
    si frente-bloqueado entonces salida;
    fin;
    si junto-a-zumbador entonces apagate;
    termina-ejecucion
finalizar-programa
