iniciar-programa
    inicia-ejecucion
     si orientado-al-oeste entonces
      inicio
       gira-izquierda;
       gira-izquierda;
       avanza;
        mientras junto-a-zumbador hacer
         coge-zumbador;
         gira-izquierda;
         gira-izquierda;
      fin;
     si orientado-al-norte entonces
      inicio
       gira-izquierda;
       gira-izquierda;
       gira-izquierda;
       avanza;
        mientras junto-a-zumbador hacer
         coge-zumbador;
         gira-izquierda;
         gira-izquierda;
      fin;
     si orientado-al-este entonces
      inicio
       avanza;
        mientras junto-a-zumbador hacer
         coge-zumbador;
         gira-izquierda;
         gira-izquierda;
      fin;
     si orientado-al-sur entonces
      inicio
       gira-izquierda;
       avanza;
        mientras junto-a-zumbador hacer
         coge-zumbador;
         gira-izquierda;
         gira-izquierda;
      fin;
     mientras frente-libre hacer
      inicio
       avanza;
      fin;
     gira-izquierda;
     gira-izquierda;
     gira-izquierda;
     avanza;
     mientras derecha-bloqueada hacer
      avanza;
     si derecha-libre entonces
      inicio
       gira-izquierda;
       gira-izquierda;
       gira-izquierda;
       avanza;
      fin;
       gira-izquierda;
       deja-zumbador;
        si algun-zumbador-en-la-mochila entonces
         repetir 9 veces
         inicio
           inicio
           mientras frente-libre hacer
            inicio
             avanza;
             deja-zumbador;
            fin;
           fin;
            si frente-bloqueado entonces
            inicio
             gira-izquierda;
             gira-izquierda;
             mientras frente-libre hacer
              inicio
               inicio
                avanza;
                mientras junto-a-zumbador y frente-libre hacer
                avanza;
                si frente-bloqueado entonces
                 inicio
                 si algun-zumbador-en-la-mochila y no junto-a-zumbador entonces
                 deja-zumbador;
                 fin;
               mientras no-junto-a-zumbador hacer
               si algun-zumbador-en-la-mochila entonces
               deja-zumbador;
               fin;
              fin;
            fin;
       gira-izquierda;
       si frente-libre entonces
       avanza;
        mientras derecha-bloqueada y frente-libre hacer
          inicio
           gira-izquierda;
          fin;
           si derecha-bloqueada y frente-bloqueado entonces
            inicio
             gira-izquierda;
             si algun-zumbador-en-la-mochila y no junto-a-zumbador entonces
             deja-zumbador;
             mientras frente-libre hacer
             inicio
             avanza;
             si algun-zumbador-en-la-mochila y no junto-a-zumbador entonces
             deja-zumbador;
             fin;
             si frente-bloqueado entonces
              inicio
               gira-izquierda;
               gira-izquierda;
               mientras frente-libre y izquierda-bloqueada hacer
                avanza;
               si izquierda-libre entonces
                gira-izquierda;
                avanza;
                gira-izquierda;
                gira-izquierda;
                gira-izquierda;
                mientras frente-libre hacer
                 avanza;
                si frente-bloqueado entonces
                inicio
                gira-izquierda;
                gira-izquierda;
                gira-izquierda;
                mientras frente-libre hacer
                avanza;
                fin;
                apagate;
              fin;
            fin;
        fin;
       apagate;
    termina-ejecucion
finalizar-programa