iniciar-programa
 define-nueva-instruccion norte como inicio
 mientras no-orientado-al-norte hacer gira-izquierda; fin;

 define-nueva-instruccion  derecha como inicio
 repetir 3 veces gira-izquierda; fin;

define-nueva-instruccion dejar2XN como inicio

repetir 2 veces gira-izquierda;
repetir 3 veces avanza;
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
fin;

define-nueva-instruccion dejar3XN como inicio

repetir 2 veces gira-izquierda;
repetir 2 veces avanza;
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
fin;


define-nueva-instruccion final3 como inicio
repetir 2 veces gira-izquierda;
mientras frente-libre hacer avanza;
fin;


define-nueva-instruccion compra(n) como inicio
si frente-libre entonces
   inicio
      avanza;
      compra(n);
      repetir n veces coge-zumbador;
   fin
   sino
   inicio
      repetir 2 veces gira-izquierda;
      mientras frente-libre hacer avanza;
      gira-izquierda;
      mientras frente-libre hacer avanza;
      gira-izquierda;
      repetir 4 veces avanza;
    fin;




fin;


define-nueva-instruccion comparar como inicio
si junto-a-zumbador entonces
   inicio
      si junto-a-zumbador entonces coge-zumbador;
      comparar;
      si junto-a-zumbador entonces coge-zumbador;
   fin
   sino
   inicio
   avanza;
   fin;

fin;


 define-nueva-instruccion resolver como inicio
 si junto-a-zumbador entonces inicio
    derecha;
    avanza;
    avanza;
    derecha;
    avanza;
    compra(2);
    si frente-libre entonces
          inicio
             final3;
             mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
          fin;
    fin
    sino
    inicio
       derecha;
       repetir 5 veces avanza;
       derecha;
       avanza;
       compra(3);
       si frente-libre entonces
          inicio
             final3;
             mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
          fin;

    fin;
 fin;






  inicia-ejecucion
  norte;
  repetir 2 veces avanza;
  derecha;
  repetir 2 veces avanza;
  compra(2);

   dejar2xn;

   avanza;
    norte;
    repetir 5 veces avanza;
  derecha;
  repetir 2 veces avanza;

  compra(3);
  dejar3xn;
  comparar;

  derecha;
  avanza;
  mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
  repetir 2 veces gira-izquierda;
  avanza;
  derecha;
  resolver;


        apagate;
    termina-ejecucion
finalizar-programa
