iniciar-programa
define-nueva-instruccion vuelta como inicio
gira-izquierda;
gira-izquierda;
fin;
define-nueva-instruccion gira-derecha como inicio
    vuelta;
    gira-izquierda;
fin;
define-nueva-instruccion sigue-fila como inicio
si junto-a-zumbador entonces inicio
mientras junto-a-zumbador hacer inicio
coge-zumbador;
fin;
si frente-libre entonces inicio
avanza;
fin;
sigue-fila;
vuelta;
    mientras frente-libre hacer inicio
    avanza;
    fin;
    vuelta;
    avanza;
    mientras algun-zumbador-en-la-mochila hacer inicio
    deja-zumbador;
    fin;
    vuelta;
    avanza;
    vuelta;
fin;
fin;
define-nueva-instruccion junta como inicio
avanza;
gira-izquierda;
repetir 4 veces inicio
mientras junto-a-zumbador hacer inicio
coge-zumbador;
fin;
avanza;
fin;

fin;


    inicia-ejecucion
    repetir 5 veces inicio
    avanza;
    fin;
    gira-derecha;
    avanza;
    gira-derecha;
    avanza;
    vuelta;
    sigue-fila;
    mientras derecha-libre hacer inicio
    gira-derecha;
    avanza;
    gira-izquierda;
    sigue-fila;
    fin;
    junta;
    vuelta;
    repetir 4 veces inicio
    avanza;
    fin;
    mientras algun-zumbador-en-la-mochila hacer inicio
    deja-zumbador;
    fin;

    avanza;
    avanza;
    avanza;
    gira-derecha;
    avanza;
    vuelta;
    sigue-fila;
    mientras derecha-libre hacer inicio
    gira-derecha;
    avanza;
    gira-izquierda;
    sigue-fila;
    fin;
    junta;
    mientras algun-zumbador-en-la-mochila hacer inicio
    deja-zumbador;
    fin;

    repetir 80 veces inicio
    si junto-a-zumbador entonces inicio
    coge-zumbador;
    avanza;
    avanza;
    si junto-a-zumbador entonces inicio
    coge-zumbador;
    fin sino inicio
    vuelta;
    avanza;
    avanza;
    deja-zumbador;
    avanza;
    avanza;
    vuelta;
    fin;

    fin;
    si junto-a-zumbador entonces inicio
    vuelta;
    coge-zumbador;
    avanza;
    avanza;
    si junto-a-zumbador entonces inicio
    coge-zumbador;
    fin sino inicio
    vuelta;
    avanza;
    avanza;
    deja-zumbador;
    vuelta;
    avanza;
    avanza;
    fin;
    vuelta;
   fin;
   fin;
   gira-derecha;
   avanza;
   mientras algun-zumbador-en-la-mochila hacer inicio
   deja-zumbador;
   fin;
   vuelta;
   avanza;
   gira-derecha;
   avanza;
   avanza;
   mientras junto-a-zumbador hacer inicio
   coge-zumbador;
   coge-zumbador;
   avanza;
   deja-zumbador;
   vuelta;
   avanza;
   avanza;
   deja-zumbador;
   vuelta;
   avanza;
   fin;
   avanza;
   mientras junto-a-zumbador hacer inicio
   coge-zumbador;
   fin;
   mientras frente-libre hacer inicio
   avanza;
   fin;
   gira-izquierda;
  mientras frente-libre hacer inicio
   avanza;
   fin;
    mientras algun-zumbador-en-la-mochila hacer inicio
   deja-zumbador;
   fin;

   si no-junto-a-zumbador entonces inicio
   vuelta;
   repetir 5 veces inicio
   avanza;
   fin;
   gira-derecha;
   repetir 6 veces inicio
   avanza;
   fin;
  repetir 16 veces inicio
  si junto-a-zumbador entonces inicio
  coge-zumbador;
  fin;
  fin;
   vuelta;
    mientras frente-libre hacer inicio
   avanza;
   fin;
   gira-izquierda;
  mientras frente-libre hacer inicio
   avanza;
   fin;
    si algun-zumbador-en-la-mochila entonces inicio
    repetir 8 veces inicio
    si algun-zumbador-en-la-mochila entonces inicio
   deja-zumbador;
   fin;
   fin;
   fin;
   fin;
        apagate;
    termina-ejecucion
finalizar-programa
