iniciar-programa
define-nueva-instruccion gira-derecha como inicio
   gira-izquierda;
   gira-izquierda;
   gira-izquierda;
fin;

define-nueva-instruccion media-vuelta como inicio
   gira-izquierda;
   gira-izquierda;
fin;

define-nueva-instruccion avanza-hasta-pared como inicio
   mientras frente-libre hacer
     avanza;
fin;

define-nueva-instruccion plantar-y-a-la-derecha como inicio
 mientras frente-libre hacer inicio
   deja-zumbador;
    si frente-libre entonces
       avanza;
 fin;
   si frente-bloqueado y derecha-libre entonces inicio
      deja-zumbador;
      gira-derecha;
      avanza;
      gira-derecha;
   fin
   sino inicio
     deja-zumbador;
     media-vuelta;
     mientras izquierda-bloqueada hacer
        avanza;
     gira-izquierda;
     avanza;
     gira-derecha;
     avanza-hasta-pared;
     gira-derecha;
     avanza-hasta-pared;
     media-vuelta;
     avanza;
     mientras algun-zumbador-en-la-mochila hacer
     deja-zumbador;
     apagate;
  fin;

fin;



define-nueva-instruccion plantar-y-a-la-izquierda como inicio
 mientras frente-libre hacer inicio
   deja-zumbador;
    si frente-libre entonces
       avanza;
 fin;
   si frente-bloqueado y izquierda-libre entonces inicio
      deja-zumbador;
      gira-izquierda;
      avanza;
      gira-izquierda;
   fin
   sino inicio
     deja-zumbador;
     media-vuelta;
     mientras derecha-bloqueada hacer
        avanza;
     gira-derecha;
     avanza;
     gira-derecha;
     avanza-hasta-pared;
     gira-derecha;
     avanza-hasta-pared;
     media-vuelta;
     avanza;
     mientras algun-zumbador-en-la-mochila hacer
     deja-zumbador;
     apagate;
  fin;

fin;




    inicia-ejecucion
mientras no-orientado-al-este hacer
  gira-izquierda;

avanza;
mientras junto-a-zumbador hacer
  coge-zumbador;

media-vuelta;
avanza;
gira-derecha;
avanza;

 mientras derecha-bloqueada y frente-libre hacer
   avanza;
 si derecha-libre entonces
  gira-derecha;

 avanza;
 gira-derecha;
 avanza-hasta-pared;
 media-vuelta;

 mientras algun-zumbador-en-la-mochila hacer inicio

     plantar-y-a-la-derecha;
     plantar-y-a-la-izquierda;

 fin;





        apagate;
    termina-ejecucion
finalizar-programa
