iniciar-programa

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

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

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

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

  define-nueva-instruccion recoger como inicio
     si junto-a-zumbador entonces inicio
        coge-zumbador;
        norte;
        si frente-libre entonces inicio
           avanza;
           recoger;
           sur;
           avanza;
        fin;
        sur;
        si frente-libre entonces inicio
           avanza;
           recoger;
           norte;
           avanza;
        fin;
        este;
        si frente-libre entonces inicio
           avanza;
           recoger;
           oeste;
           avanza;
        fin;
        oeste;
        si frente-libre entonces inicio
           avanza;
           recoger;
           este;
           avanza;
        fin;

     fin;
  fin;

  define-nueva-instruccion ir11 como inicio
     sur;
     mientras frente-libre hacer inicio
        avanza;
     fin;
     oeste;
     mientras frente-libre hacer inicio
        avanza;
     fin;
  fin;

    inicia-ejecucion
        recoger;
        ir11;
        mientras algun-zumbador-en-la-mochila hacer inicio
           deja-zumbador;
        fin;

        repetir 100 veces inicio
           coge-zumbador;
        fin;
        apagate;
    termina-ejecucion
finalizar-programa
