iniciar-programa
define-nueva-instruccion juntar2(c) como inicio

si(frente-libre)entonces inicio
   si(junto-a-zumbador)entonces inicio
     coge-zumbador;
     juntar2(sucede(c));
     fin
   sino inicio
     avanza;
     juntar2(c);
   fin;

fin
sino inicio

repetir c veces deja-zumbador

fin;
fin;

define-nueva-instruccion dejar como inicio
 si(junto-a-zumbador)entonces inicio
    coge-zumbador; coge-zumbador;
    dejar;
    deja-zumbador;
 fin
 sino inicio
  avanza;
  gira-izquierda;
  mientras(frente-libre)hacer avanza;
  gira-izquierda;
  mientras(frente-libre)hacer avanza;
 fin;
fin;

define-nueva-instruccion comer(b) como inicio
  si(junto-a-zumbador)entonces inicio
     coge-zumbador;
     comer(sucede(b));
  fin
  sino inicio
    gira-izquierda; avanza; gira-izquierda;
    gira-izquierda; gira-izquierda; avanza;
    avanza; avanza; gira-izquierda; gira-izquierda;
    gira-izquierda; avanza; gira-izquierda;
    repetir b veces inicio

     si(junto-a-zumbador y orientado-al-este)entonces inicio
        coge-zumbador;
     fin
     sino inicio
        mientras(no-orientado-al-norte)hacer gira-izquierda;
        deja-zumbador;

     fin;


    fin;
  fin;
fin;

define-nueva-instruccion juntar(a) como inicio
 si(junto-a-zumbador)entonces inicio
    coge-zumbador;
    si(junto-a-zumbador)entonces inicio
       juntar(sucede(a));
    fin
    sino inicio
      si(frente-libre)entonces inicio
       avanza;
       fin;
       juntar(sucede(a));
    fin;
 fin
 sino inicio
  gira-izquierda; gira-izquierda;
  mientras(frente-libre)hacer avanza;
  repetir a veces deja-zumbador;
 fin;
fin;


    inicia-ejecucion

repetir 5 veces avanza;
gira-izquierda; gira-izquierda; gira-izquierda;
avanza;
gira-izquierda; gira-izquierda; gira-izquierda;
avanza;
gira-izquierda;

mientras(frente-libre)hacer inicio
  gira-izquierda;
  juntar(0);
  gira-izquierda;
  avanza;
fin;
  gira-izquierda;
  juntar(0);
  gira-izquierda;
  gira-izquierdA;
  avanza;
  gira-izquierda; gira-izquierda; gira-izquierda;
  avanza; avanza; avanza; gira-izquierda;
  gira-izquierda; gira-izquierda; avanza; gira-izquierda;
mientras(frente-libre)hacer inicio
  gira-izquierda;
  juntar(0);
  gira-izquierda;
  avanza;
fin;
  gira-izquierda;
  juntar(0);
  gira-izquierda; gira-izquierda; gira-izquierda;
   juntar2(0);
  gira-izquierda; gira-izquierda; gira-izquierdA;
  avanza;
  gira-izquierda; avanza; avanza; avanza;
  gira-izquierdA; avanza;
  gira-izquierda; gira-izquierda; gira-izquierdA;
 mientras(frente-libre)hacer avanza;
  gira-izquierda; gira-izquierdA;
 juntar2(0);

  comer(0);
  mientras(no-orientado-al-norte)hacer gira-izquierda;
  dejar;
        apagate;
    termina-ejecucion
finalizar-programa
