iniciar-programa
    inicia-ejecucion
    mientras no-orientado-al-oeste hacer gira-izquierda;

    mientras frente-libre hacer avanza;
    mientras no-orientado-al-sur hacer inicio
     gira-izquierda;
    fin;

    mientras frente-libre hacer
    inicio
      avanza;
     fin;

    mientras no-orientado-al-este hacer inicio
     gira-izquierda;
    fin;
    deja-zumbador;

    mientras frente-libre y derecha-bloqueada hacer inicio
     avanza;
     gira-izquierda;
     avanza;
     deja-zumbador;
    fin;

   mientras frente-libre y derecha-libre hacer inicio
    mientras no-orientado-al-este hacer inicio
     gira-izquierda;
    fin;
     avanza;
     gira-izquierda;
     avanza;
     deja-zumbador;
   fin;

   mientras no-orientado-al-oeste hacer
   inicio
    gira-izquierda;
   fin;

   mientras frente-libre hacer avanza;

   mientras no-orientado-al-sur hacer gira-izquierda;

   mientras no-junto-a-zumbador hacer deja-zumbador;

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

   mientras derecha-libre y frente-libre hacer inicio
    mientras no-orientado-al-sur hacer gira-izquierda;
     avanza;
     gira-izquierda;
     avanza;
     si no-junto-a-zumbador entonces deja-zumbador;
    fin;

        apagate;
    termina-ejecucion
finalizar-programa
