   iniciar-programa
    inicia-ejecucion


    mientras no-junto-a-zumbador hacer inicio
    mientras no-orientado-al-sur hacer inicio
    gira-izquierda;
    fin;


   mientras (orientado-al-sur y frente-libre)o orientado-al-sur y (frente-bloqueado y izquierda-libre) hacer inicio
    mientras frente-libre y no-junto-a-zumbador hacer avanza;
    mientras junto-a-zumbador hacer apagate;
    si (frente-bloqueado y orientado-al-sur) y izquierda-bloqueada entonces inicio
    repetir 2 veces gira-izquierda;
    fin;
    mientras derecha-bloqueada hacer inicio
    si frente-libre y no junto-a-zumbador entonces avanza;
    si derecha-libre entonces inicio
    repetir 3 veces gira-izquierda;
    avanza;
    repetir 3 veces gira-izquierda;
    fin;

    mientras  (izquierda-libre y frente-bloqueado) y orientado-al-sur hacer inicio
    gira-izquierda;
    mientras frente-libre y no-junto-a-zumbador hacer avanza;
    si junto-a-zumbador entonces apagate;
    si frente-bloqueado y izquierda-libre entonces inicio
    gira-izquierda;
    fin;
    mientras frente-bloqueado y orientado-al-sur hacer repetir 2 veces gira-izquierda;
    fin;
    mientras derecha-bloqueada hacer inicio
    si frente-libre y no junto-a-zumbador entonces avanza;
    mientras junto-a-zumbador hacer apagate;
    si derecha-libre entonces inicio
    repetir 3 veces gira-izquierda;

    avanza;
     mientras derecha-bloqueada y orientado-al-este hacer avanza;
    repetir 3 veces gira-izquierda;
    fin;
    mientras ( frente-bloqueado y orientado-al-norte) y derecha-bloqueada hacer inicio
    repetir 2 veces gira-izquierda;
    mientras frente-libre hacer avanza;
    mientras ( frente-bloqueado y izquierda-bloqueada) y orientado-al-sur hacer inicio
    repetir 2 veces gira-izquierda;
    fin;

    mientras izquierda-libre hacer inicio

    mientras ( no-junto-a-zumbador y frente-libre) y orientado-al-norte o orientado-al-sur hacer inicio
    si frente-libre entonces avanza;
    mientras junto-a-zumbador hacer apagate;
si frente-bloqueado y orientado-al-sur entonces inicio
 repetir 3 veces gira-izquierda;
 si frente-libre entonces avanza;
 repetir 3 veces gira-izquierda;
 fin;

 si frente-bloqueado y orientado-al-norte entonces inicio
 gira-izquierda;
 si frente-libre y no-junto-a-zumbador entonces avanza
 sino gira-izquierda;
 si junto-a-zumbador entonces apagate;
 gira-izquierda;
 fin;
 fin;
  fin;
 fin;
 fin;
 fin;


    fin;

    fin;









        apagate;
    termina-ejecucion
finalizar-programa

 