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 sig como
  inicio
   mientras frente-libre hacer
    avanza;
   der;
   avanza;
   avanza;
  fin;
 define-nueva-instruccion rev como
  inicio
   si junto-a-zumbador entonces
    inicio
     gira-izquierda;
     mientras junto-a-zumbador hacer
      avanza;
     gira-izquierda;
     avanza;
     si junto-a-zumbador entonces
      inicio
       der;
       avanza;
       si junto-a-zumbador entonces
        inicio
         mientras junto-a-zumbador hacer
          avanza;
         inv;
         avanza;
         gira-izquierda;
         coge-zumbador;
         avanza;
         deja-zumbador;
         der;
         mientras frente-libre hacer
          avanza;
         gira-izquierda;
        fin
       sino
        inicio
         inv;
         mientras frente-libre hacer
          avanza;
         gira-izquierda;
         avanza;
        fin;
      fin
     sino
      inicio
       gira-izquierda;
       mientras frente-libre hacer
        avanza;
       gira-izquierda;
       avanza;
      fin;
    fin;
  fin;
 define-nueva-instruccion erosion como
  inicio
   mientras algun-zumbador-en-la-mochila hacer
    inicio
     deja-zumbador;
     der;
     avanza;
     avanza;
     mientras frente-libre hacer
      inicio
       rev;
       avanza;
      fin;
     rev;
     inv;
     avanza;
     mientras frente-libre hacer
      inicio
       si junto-a-zumbador entonces
        inicio
         der;
         mientras junto-a-zumbador hacer
          avanza;
         inv;
         avanza;
         gira-izquierda;
         avanza;
         si no-junto-a-zumbador entonces
          inicio
           gira-izquierda;
           avanza;
           si junto-a-zumbador entonces
            inicio
             inv;
             coge-zumbador;
             mientras no-junto-a-zumbador hacer
              avanza;
             inv;
             avanza;
             deja-zumbador;
             inv;
             sig;
            fin
           sino
            inicio
             inv;
             sig;
            fin;
          fin
         sino
          inicio
           der;
           sig;
          fin;
        fin
       sino
        inicio
         avanza;
        fin;
      fin;
     der;
    fin;
   mientras junto-a-zumbador hacer
    coge-zumbador;
  fin;
    inicia-ejecucion
     erosion;
        apagate;
    termina-ejecucion
finalizar-programa
