iniciar-programa

define-nueva-instruccion gira(n) como inicio
repetir n veces inicio
gira-izquierda;
fin;
fin;

   define-nueva-instruccion despacha como inicio
  si junto-a-zumbador entonces inicio
  si algun-zumbador-en-la-mochila entonces inicio
   coge-zumbador;
   gira(1);
   avanza;
   repetir sucede(1) veces inicio
   deja-zumbador;
   fin;
   gira(2);
   avanza;
   gira(1);
   fin
   sino inicio
   gira(2);
   fin;
   fin
   sino inicio
    avanza;
    si no junto-a-zumbador entonces inicio
    apagate;
    fin;
   fin;
   fin;

 define-nueva-instruccion recorer como inicio
 mientras junto-a-zumbador hacer inicio
 coge-zumbador;
 fin;
 gira(2);
 si frente-libre entonces inicio
 avanza;
 fin;
 si junto-a-zumbador entonces inicio
 gira(2);
 avanza;
 mientras no junto-a-zumbador y frente-libre hacer inicio
 avanza;
 fin;
 si junto-a-zumbador entonces inicio
 gira(2);
 avanza;
 gira(2);
 fin;
 mientras algun-zumbador-en-la-mochila hacer inicio
 deja-zumbador;
 fin;
 gira(2);
 avanza;
 mientras no junto-a-zumbador hacer inicio
 avanza;
 fin;
 gira(2);
 fin
     sino inicio
     gira(2);
     avanza;
     mientras no junto-a-zumbador y frente-libre hacer inicio
     avanza;
     fin;
     si junto-a-zumbador entonces inicio
     gira(2);
     avanza;
     gira(2);
     fin;
     mientras algun-zumbador-en-la-mochila hacer inicio
     deja-zumbador;
     fin;
     gira(2);
 fin;

 fin;



    inicia-ejecucion

    mientras orientado-al-este hacer inicio
    despacha;

       fin;

     mientras orientado-al-oeste hacer inicio
      recorer;
     fin;





   apagate;
    termina-ejecucion
finalizar-programa
