iniciar-programa

  define-nueva-instruccion norte como mientras no-orientado-al-norte hacer gira-izquierda;

  define-nueva-instruccion sur como mientras no-orientado-al-sur hacer gira-izquierda;

  define-nueva-instruccion este como mientras no-orientado-al-este hacer gira-izquierda;

  define-nueva-instruccion oeste como mientras no-orientado-al-oeste hacer gira-izquierda;

  define-nueva-instruccion juntar como
   inicio
    este;
    mientras no-junto-a-zumbador hacer
          inicio
             si frente-bloqueado y ningun-zumbador-en-la-mochila y orientado-al-este entonces apagate;
             avanza;
          fin;
          si frente-bloqueado y no-junto-a-zumbador y ningun-zumbador-en-la-mochila entonces apagate;
    mientras  junto-a-zumbador hacer coge-zumbador;
    mientras frente-libre hacer avanza;
    norte;
    mientras derecha-bloqueada hacer avanza;
    este;
    avanza;
    sur;
    mientras frente-libre hacer avanza;
   fin;

  define-nueva-instruccion sembrar como
   inicio
      este;
      mientras junto-a-zumbador hacer avanza;
      mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
      oeste;
      mientras frente-libre hacer avanza;
      norte;
      mientras izquierda-bloqueada hacer avanza;
      oeste;
      avanza;
      sur;
      mientras frente-libre hacer avanza;
      oeste;
      mientras frente-libre hacer
          inicio
             si frente-bloqueado y ningun-zumbador-en-la-mochila y orientado-al-este entonces apagate;
             avanza;
          fin;
      este;





   fin;

  inicia-ejecucion
   mientras frente-libre o junto-a-zumbador hacer
       inicio
       juntar;
       sembrar;

       fin;
        apagate;
    termina-ejecucion
finalizar-programa
