iniciar-programa

  define-nueva-instruccion media-vuelta como inicio
       gira-izquierda;
       gira-izquierda;
  fin;
  define-nueva-instruccion gira-derecha como inicio
  repetir 3 veces inicio
   gira-izquierda;
   fin;
   fin;

   define-nueva-instruccion recoge como inicio

   mientras junto-a-zumbador hacer inicio
 mientras junto-a-zumbador hacer inicio
   coge-zumbador;
   avanza;
 fin;
   gira-izquierda;
   gira-izquierda;
 mientras frente-libre hacer inicio
   avanza;
 fin;
   gira-izquierda;
  si frente-libre entonces inicio
   avanza;
  fin;
   gira-izquierda;
   fin;
   fin;
  define-nueva-instruccion construye como inicio
   mientras derecha-bloqueada hacer inicio
  gira-izquierda;
 mientras no-junto-a-zumbador y algun-zumbador-en-la-mochila hacer inicio
  deja-zumbador;
  si frente-libre entonces inicio
   avanza;
  fin;
 fin;
  media-vuelta;
 mientras frente-libre hacer inicio
  avanza;
 fin;
 gira-izquierda;
  avanza;
fin;
  fin;
define-nueva-instruccion orientate-al-norte como inicio
si orientado-al-este entonces inicio
gira-izquierda;
fin;
si orientado-al-sur entonces inicio
media-vuelta;
fin;
si orientado-al-oeste entonces inicio
gira-derecha;
fin;
fin;

inicia-ejecucion
orientate-al-norte;
si junto-a-zumbador entonces  inicio
 recoge;
 fin;
 si no-junto-a-zumbador entonces inicio

 gira-derecha;
 si frente-libre entonces inicio
  avanza;
  fin;
 gira-izquierda;
 recoge;


 si no-junto-a-zumbador entonces inicio

 gira-derecha;
 si frente-libre entonces  inicio
  avanza;
 gira-izquierda;
 fin;
 recoge;
 fin;
 fin;
 si orientado-al-norte entonces inicio
  construye;
 fin
 sino inicio
  gira-izquierda;
gira-izquierda;
gira-derecha;
 construye;
 fin;





apagate;
termina-ejecucion
finalizar-programa


