iniciar-programa
  define-nueva-instruccion gd como inicio
  repetir 3 veces gira-izquierda; fin;
  define-nueva-instruccion gm como inicio
  gira-izquierda; gira-izquierda; fin;

  define-nueva-instruccion ve como inicio
  mientras no-junto-a-zumbador y frente-libre hacer avanza; fin;

  define-nueva-instruccion re como inicio
  ve; si junto-a-zumbador entonces inicio
  coge-zumbador; si junto-a-zumbador entonces inicio coge-zumbador; fin
  sino inicio deja-zumbador; gm; avanza; gira-izquierda; fin; fin; fin;

  define-nueva-instruccion ree como inicio
  mientras orientado-al-este hacer re;
  mientras orientado-al-sur hacer re;
  mientras orientado-al-oeste hacer re;
  mientras orientado-al-norte hacer inicio
  ve; si junto-a-zumbador entonces inicio coge-zumbador;
  si junto-a-zumbador entonces inicio coge-zumbador; fin sino inicio deja-zumbador;
  gm; repetir 3 veces avanza; gira-izquierda; avanza; avanza; fin; fin;
  avanza;
  si junto-a-zumbador entonces inicio coge-zumbador; si junto-a-zumbador
  entonces inicio deja-zumbador; gm; avanza; gm; ree; fin sino inicio
  deja-zumbador; fin; fin sino inicio ree; fin; fin; fin;

  define-nueva-instruccion de como inicio
  si algun-zumbador-en-la-mochila entonces inicio deja-zumbador;
  deja-zumbador; de; coge-zumbador; fin; fin;

    inicia-ejecucion
    avanza; si junto-a-zumbador entonces inicio coge-zumbador;
    si junto-a-zumbador entonces inicio deja-zumbador; gm; avanza; gm;
    fin sino inicio deja-zumbador; gm;
    avanza; mientras junto-a-zumbador hacer coge-zumbador;
    si algun-zumbador-en-la-mochila entonces deja-zumbador; apagate; fin; fin;
    ree;
    gm; avanza; si junto-a-zumbador entonces inicio coge-zumbador; coge-zumbador; fin;
    de;
        apagate;
    termina-ejecucion
finalizar-programa
