iniciar-programa
    define-nueva-instruccion acomoda como inicio
    mientras frente-libre o orientado-al-norte hacer inicio
       si junto-a-zumbador entonces inicio
        coge-zumbador;
         si junto-a-zumbador entonces inicio
          coge-zumbador;
           si junto-a-zumbador entonces inicio
            coge-zumbador;
            acomoda;
            repetir 3 veces gira-izquierda;
             si junto-a-zumbador entonces inicio
              mientras junto-a-zumbador hacer avanza;
              deja-zumbador;
              repetir 2 veces gira-izquierda;
              mientras frente-libre hacer avanza;
              gira-izquierda;
              avanza;
              gira-izquierda;
                  si junto-a-zumbador entonces inicio
                   mientras junto-a-zumbador hacer avanza;
                   repetir 2 veces deja-zumbador;
                   repetir 2 veces gira-izquierda;
                   mientras frente-libre hacer avanza;
                   repetir 3 veces gira-izquierda;
                   avanza;
                  fin
                  sino inicio
                    repetir 2 veces deja-zumbador;
                    gira-izquierda;
                    avanza;
                  fin;

             fin
             sino inicio
               deja-zumbador;
               repetir 3 veces gira-izquierda;
               avanza;
               gira-izquierda;
               (**)
                 si junto-a-zumbador entonces inicio
                   mientras junto-a-zumbador hacer avanza;
                   repetir 2 veces deja-zumbador;
                   repetir 2 veces gira-izquierda;
                   mientras frente-libre hacer avanza;
                   repetir 3 veces gira-izquierda;
                   avanza;
                  fin
                  sino inicio
                    repetir 2 veces deja-zumbador;
                    gira-izquierda;
                    avanza;
                  fin;



             (**)
             fin;



           fin
           sino inicio
            acomoda;
             repetir 2 veces gira-izquierda;
             avanza;
             gira-izquierda;
             si junto-a-zumbador entonces inicio
               mientras junto-a-zumbador hacer avanza;
               repetir 2 veces deja-zumbador;
               repetir 2 veces gira-izquierda;
               mientras frente-libre hacer avanza;
               repetir 3 veces gira-izquierda;
               avanza;
             fin
             sino inicio
                 repetir 2 veces deja-zumbador;
                 gira-izquierda;
                 avanza;

             fin;

















           fin;
           fin
         sino inicio
          acomoda;
            repetir 3 veces gira-izquierda;
             si junto-a-zumbador entonces inicio
              mientras junto-a-zumbador hacer avanza;
              deja-zumbador;
              repetir 2 veces gira-izquierda;
              mientras frente-libre hacer avanza;
              repetir 3 veces gira-izquierda;
             fin
             sino inicio
               deja-zumbador;
               gira-izquierda;

             fin;

         fin;
       fin
       sino inicio
        si frente-libre entonces avanza;

       fin;

            mientras frente-bloqueado y orientado-al-norte hacer inicio
          repetir 2 veces gira-izquierda;
          acomoda;
          fin;

       si frente-bloqueado y orientado-al-sur entonces inicio
          gira-izquierda;
          si frente-libre entonces inicio
           avanza;
           gira-izquierda;
          fin
          sino inicio
           repetir 2 veces gira-izquierda;
           mientras frente-libre hacer avanza;

          fin;

          fin;

       fin;
    fin;
    inicia-ejecucion
    acomoda;

        apagate;
    termina-ejecucion
finalizar-programa
