iniciar-programa
define-nueva-instruccion gira(e) como inicio
repetir  e veces gira-izquierda;
fin;
define-nueva-instruccion vuelve como inicio
 gira(2);
 avanza;
 gira(1);
  mientras no junto-a-zumbador y frente-libre hacer avanza;
fin;
define-nueva-instruccion tortilla como inicio
  si algun-zumbador-en-la-mochila y junto-a-zumbador entonces inicio
     coge-zumbador;
     gira(1);
avanza;
deja-zumbador;
si ningun-zumbador-en-la-mochila entonces inicio
vuelve;
sal-de-instruccion;
fin;
deja-zumbador;
vuelve;
     tortilla;
     fin;
FIN;
define-nueva-instruccion end como inicio
  si ningun-zumbador-en-la-mochila  entonces inicio
     mientras no junto-a-zumbador y frente-libre hacer avanza;
     si frente-bloqueado y no junto-a-zumbador entonces inicio
      gira(2);
      mientras frente-libre hacer avanza;
      apagate;
     fin;
     si frente-bloqueado y junto-a-zumbador entonces inicio
        gira(2);
        mientras junto-a-zumbador hacer coge-zumbador;
         mientras no junto-a-zumbador hacer avanza;
         gira(2);
         avanza;
         gira(2);
           mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
      mientras frente-libre  hacer avanza;
      apagate;
     fin;
     si junto-a-zumbador entonces inicio
     mientras junto-a-zumbador hacer coge-zumbador;
     gira(2);
     mientras frente-libre y no junto-a-zumbador hacer avanza;
   si junto-a-zumbador entonces inicio
       gira(2);
       avanza;
   fin;
     mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
        mientras no orientado-al-este hacer gira-izquierda;
     si frente-libre entonces avanza;
     end;
     fin;
    fin;
fin;
    inicia-ejecucion
   tortilla;
       end;
        apagate;
    termina-ejecucion
finalizar-programa
