iniciar-programa
  define-nueva-instruccion gi como inicio
  gira-izquierda; fin;
  define-nueva-instruccion gm como inicio
  gira-izquierda; gira-izquierda; fin;
  define-nueva-instruccion gd como inicio
  gira-izquierda; gira-izquierda; gira-izquierda; fin;

  define-nueva-instruccion cu como inicio
  si algun-zumbador-en-la-mochila entonces inicio
  deja-zumbador; cu; fin sino inicio gm; avanza; gi; fin;
  avanza; fin;

  define-nueva-instruccion re como inicio
  mientras frente-libre y no-junto-a-zumbador hacer avanza;
  si junto-a-zumbador entonces inicio
  mientras junto-a-zumbador hacer coge-zumbador; gm; mientras no-junto-a-zumbador
  y frente-libre hacer avanza; gi; mientras algun-zumbador-en-la-mochila hacer inicio
  deja-zumbador; si frente-libre entonces avanza; fin; gm; mientras frente-libre
  hacer avanza; gd; avanza; fin; si frente-libre entonces re; fin;

  define-nueva-instruccion de como inicio
  mientras junto-a-zumbador y frente-libre hacer avanza; gm; si no-junto-a-zumbador
  entonces avanza; mientras junto-a-zumbador y frente-libre hacer inicio
  coge-zumbador; si frente-libre entonces avanza; fin;
  si frente-bloqueado y junto-a-zumbador entonces coge-zumbador;
  si frente-bloqueado entonces inicio
  gd; avanza; avanza; mientras junto-a-zumbador hacer avanza;
  si no-junto-a-zumbador entonces inicio
  mientras algun-zumbador-en-la-mochila hacer deja-zumbador; fin;
  gm; mientras junto-a-zumbador hacer avanza; avanza; gi; fin;
  si junto-a-zumbador entonces de; fin;


    inicia-ejecucion
    mientras junto-a-zumbador hacer coge-zumbador;
    mientras no-orientado-al-norte hacer gi; avanza; cu; avanza;
    mientras junto-a-zumbador hacer coge-zumbador; avanza; mientras
    junto-a-zumbador hacer coge-zumbador; avanza; mientras
    algun-zumbador-en-la-mochila hacer deja-zumbador; gm; avanza; avanza;
    avanza; mientras junto-a-zumbador hacer coge-zumbador; gm; avanza; avanza; gi;
    mientras algun-zumbador-en-la-mochila hacer inicio deja-zumbador;
    si frente-libre entonces avanza; fin; gm; mientras frente-libre hacer avanza;
    gd; avanza; re; gm; mientras no-junto-a-zumbador hacer avanza; gi; de;
        apagate;
    termina-ejecucion
finalizar-programa
