iniciar-programa
    inicia-ejecucion

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

    mientras no-junto-a-zumbador hacer
    inicio
         avanza;
    fin;
    mientras no-orientado-al-oeste hacer
    inicio
        gira-izquierda;
    fin;
    si frente-libre entonces
    inicio
        avanza;
    fin;

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



    mientras izquierda-libre hacer
    inicio
       mientras frente-libre hacer
       inicio
           avanza;
           si junto-a-zumbador entonces
           inicio
          coge-zumbador;
           fin;

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

       mientras frente-libre hacer
       inicio
          avanza;
       fin;

       mientras no-orientado-al-oeste hacer
       inicio
          gira-izquierda;
       fin;
       si frente-libre entonces
       inicio
        avanza;
       fin;

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


     mientras frente-libre hacer
     inicio
           avanza;
           si junto-a-zumbador entonces
           inicio
          coge-zumbador;
           fin;

     fin;
     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;

       mientras no-junto-a-zumbador hacer
    inicio
         avanza;
    fin;

   si frente-libre entonces
    inicio
        avanza;
    fin;  

    si junto-a-zumbador  entonces
    inicio
      mientras no-orientado-al-norte hacer
      inicio
         gira-izquierda;
      fin;                           
      avanza;
      mientras no-orientado-al-este hacer
      inicio
         gira-izquierda;
     fin;
     avanza;

   fin;


   si derecha-bloqueada entonces
   inicio
    mientras no-orientado-al-norte hacer
    inicio
      gira-izquierda;
    fin;


    avanza;


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




   mientras frente-libre hacer
   inicio
       si junto-a-zumbador entonces
       inicio
         coge-zumbador;
       fin;
       avanza;
  fin;
  mientras no-orientado-al-oeste hacer
  inicio
     gira-izquierda;
 fin;
 mientras no-junto-a-zumbador hacer
 inicio
    avanza;
 fin;

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

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



  mientras izquierda-libre y junto-a-zumbador hacer
 inicio


   avanza;

   mientras frente-libre hacer
   inicio
       si junto-a-zumbador entonces
       inicio
         coge-zumbador;
       fin;
       avanza;
  fin;
  mientras no-orientado-al-oeste hacer
  inicio
     gira-izquierda;
 fin;
 mientras no-junto-a-zumbador hacer
 inicio
    avanza;
 fin;

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

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

 fin;




mientras izquierda-libre hacer
inicio
 mientras frente-libre hacer
   inicio
       si junto-a-zumbador entonces
       inicio
         coge-zumbador;
       fin;
       avanza;
  fin;
  mientras no-orientado-al-oeste hacer
  inicio
     gira-izquierda;
 fin;
 mientras frente-libre hacer
 inicio
    avanza;
 fin;

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

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

 fin;





 mientras frente-libre hacer
   inicio
       si junto-a-zumbador entonces
       inicio
         coge-zumbador;
       fin;
       avanza;
  fin;
  mientras no-orientado-al-oeste hacer
  inicio
     gira-izquierda;
 fin;
 mientras frente-libre hacer
 inicio
    avanza;
 fin;
 mientras no-orientado-al-sur hacer
 inicio
    gira-izquierda;
fin;
mientras frente-libre hacer
inicio
   avanza;
fin;
mientras algun-zumbador-en-la-mochila hacer
inicio
   deja-zumbador;
fin;








                                     

     apagate;
    termina-ejecucion
finalizar-programa
