iniciar-programa
 define-nueva-instruccion inv como
  inicio
   gira-izquierda;
   gira-izquierda;
  fin;
 define-nueva-instruccion der como
  inicio
   repetir 3 veces
    gira-izquierda;
  fin;
 define-nueva-instruccion vac como
  inicio
   mientras junto-a-zumbador hacer
    coge-zumbador;
  fin;
 define-nueva-instruccion rec como
  inicio
   mientras frente-libre hacer
    avanza;
  fin;
 define-nueva-instruccion mov como
  inicio
   si junto-a-zumbador entonces
    inicio
     coge-zumbador;
     mov;
     deja-zumbador;
    fin
   sino
    inicio
     rec;
     inv;
    fin;
  fin;
 define-nueva-instruccion di2 como
  inicio
   si junto-a-zumbador entonces
    inicio
     coge-zumbador;
     coge-zumbador;
     di2;
     deja-zumbador;
    fin;
  fin;
 define-nueva-instruccion iso como
  inicio
   si junto-a-zumbador entonces
    inicio
     avanza;
     avanza;
     inv;
     si junto-a-zumbador entonces
      inicio
       coge-zumbador;
       avanza;
       avanza;
       inv;
       coge-zumbador;
       iso;
      fin
     sino
      inicio
       iso;
      fin;
    fin
   sino
    inicio
     avanza;
     avanza;
     di2;
    fin;
  fin;
 define-nueva-instruccion sum como
  inicio
   mientras junto-a-zumbador y frente-libre hacer
    avanza;
   inv;
   mientras frente-libre hacer
    inicio
     vac;
     avanza;
    fin;
   vac;
   inv;
   mientras izquierda-libre hacer
    inicio
     gira-izquierda;
     avanza;
     der;
     mientras junto-a-zumbador y frente-libre hacer
      avanza;
     inv;
     mientras frente-libre hacer
      inicio
       vac;
       avanza;
      fin;
     vac;
     inv;
    fin;
  fin;
 define-nueva-instruccion bal como
  inicio
   repetir 5 veces
    avanza;
   der;
   repetir 10 veces
    avanza;
   der;
   avanza;
   inv;
   sum;
   avanza;
   gira-izquierda;
   rec;
   mientras algun-zumbador-en-la-mochila hacer
    deja-zumbador;
   inv;
   repetir 4 veces
    avanza;
   der;
   avanza;
   inv;
   sum;
   repetir 3 veces
    avanza;
   gira-izquierda;
   avanza;
   mientras algun-zumbador-en-la-mochila hacer
    deja-zumbador;
   gira-izquierda;
   iso;
   mientras no-orientado-al-sur hacer
    gira-izquierda;
   mov; 
  fin;
    inicia-ejecucion
     bal;
        apagate;
    termina-ejecucion
finalizar-programa
