iniciar-programa
define-nueva-instruccion hazlo como inicio




mientras izquierda-bloqueada y frente-libre hacer
avanza;


si izquierda-libre entonces
gira-izquierda;

si izquierda-libre y derecha-libre y frente-libre entonces
avanza;






    fin;

  define-nueva-instruccion deja como inicio


   mientras frente-bloqueado hacer
  gira-izquierda;

  mientras frente-libre hacer inicio
  mientras no-junto-a-zumbador hacer
  deja-zumbador;
  avanza;
  fin;
  si frente-bloqueado   entonces inicio
  si no junto-a-zumbador entonces
  deja-zumbador;
  gira-izquierda;
  gira-izquierda;
  fin;
  mientras frente-libre hacer
  avanza;
  si frente-bloqueado y derecha-libre entonces
  repetir 3 veces
  gira-izquierda;
  si frente-libre entonces
  avanza;
  mientras no-orientado-al-norte  hacer
  gira-izquierda;

 si izquierda-bloqueada y junto-a-zumbador  entonces inicio
 mientras izquierda-bloqueada hacer
 avanza;
 si izquierda-libre entonces
 gira-izquierda;
 avanza;
  gira-izquierda;
  avanza;
 fin;

 mientras derecha-bloqueada y frente-libre hacer
 avanza;

 mientras izquierda-libre y orientado-al-sur y algun-zumbador-en-la-mochila hacer
 deja-zumbador;
 si ningun-zumbador-en-la-mochila entonces
 apagate;
    fin;























    inicia-ejecucion
    mientras no-orientado-al-este hacer
    gira-izquierda;
    mientras izquierda-libre hacer inicio
avanza;
fin;

mientras junto-a-zumbador hacer inicio
coge-zumbador;
fin;

 mientras frente-libre hacer inicio
    hazlo;
    fin;

    si frente-bloqueado entonces inicio
    gira-izquierda;
    mientras frente-libre hacer
    avanza;
    fin;



   mientras algun-zumbador-en-la-mochila  hacer inicio
    deja;
    fin;
        apagate;
    termina-ejecucion
finalizar-programa
