iniciar-programa
  define-nueva-instruccion media-Vuelta como repetir 2 veces gira-izquierda;
  define-nueva-instruccion gira-Derecha como repetir 3 veces gira-izquierda;

   define-nueva-instruccion integra como inicio
   si orientado-al-norte entonces inicio
   avanza;
   fin sino si orientado-al-este entonces inicio
   gira-izquierda; avanza;
   fin;
   mientras junto-a-zumbador hacer coge-zumbador;
   media-vuelta;
   avanza;
   media-vuelta;
   mientras algun-zumbador-en-la-mochila hacer inicio deja-zumbador; fin;

   fin;

   define-nueva-instruccion Coge2(n) como inicio

    si junto-a-zumbador entonces inicio
    fin;

    fin;


   define-nueva-instruccion Coge(n) como inicio
   si orientado-al-norte entonces inicio
    Repetir n veces
    si junto-a-zumbador entonces inicio
    coge-zumbador;
    avanza;
    deja-zumbador;
    media-vuelta; avanza; media-vuelta;
    Fin
    sino inicio
    Integra;
    Coge(precede(n));
    fin;
    si junto-a-zumbador entonces inicio
    coge(n);
    fin;

    gira-derecha;
    avanza;
    fin;

    si orientado-al-este entonces inicio
    Repetir n veces
    si junto-a-zumbador y orientado-al-este entonces inicio
    coge-zumbador;
    gira-izquierda;
    avanza;
    deja-zumbador;
    media-vuelta; avanza; gira-izquierda;
    Fin
    sino
    si no junto-a-zumbador y orientado-al-este entonces   inicio
    Integra;
    gira-izquierda;
    avanza;
    Gira-derecha;
    integra;
    Coge(precede(n));
    fin;
    si junto-a-zumbador entonces inicio
    coge(n);
    fin
    sino inicio
    gira-izquierda;
    avanza;
    mientras junto-a-zumbador hacer coge-zumbador;
    gira-izquierda; avanza;
    mientras junto-a-zumbador hacer coge-zumbador;
    media-vuelta;
    avanza;
    avanza; gira-derecha; avanza;
    repetir n veces deja-zumbador;
    apagate;
    fin;
    fin;
    fin;

  define-nueva-instruccion Uno(n) como inicio
  si junto-a-zumbador entonces inicio
  coge-zumbador;
  uno(sucede(n));
  fin
  sino inicio
  repetir n veces deja-zumbador;
  gira-izquierdA;
  Coge(n);
  fin;
  fin;




     inicia-ejecucion
    mientras no orientado-al-oeste hacer gira-izquierda;
    mientras frente-libre y orientado-al-oeste hacer avanza;
    gira-izquierda;
    mientras frente-libre  hacer avanza;
    gira-izquierda;
    Uno(0);


       apagate;
    termina-ejecucion
finalizar-programa
