iniciar-programa
define-nueva-instruccion este como inicio mientras no orientado-al-este hacer inicio gira-izquierda; fin; fin;
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 cambia como inicio
      mientras frente-bloqueado y derecha-libre hacer inicio
                   este;
                  avanza;
                  mientras junto-a-zumbador hacer inicio
                  coge-zumbador;
                  fin;
                  sur;
              fin;

          fin;


define-nueva-instruccion recoge como inicio
    mientras frente-libre hacer inicio
        mientras no-junto-a-zumbador y frente-libre hacer inicio
            avanza;
                 mientras junto-a-zumbador hacer inicio
                    coge-zumbador;
                   fin;
        fin;
        mientras no-orientado-al-norte hacer inicio
        norte;
        fin;
        mientras frente-libre hacer inicio
        avanza;
        fin;
        cambia;
        fin;


     si frente-bloqueado entonces inicio
         este;
         mientras no-junto-a-zumbador y frente-libre hacer inicio
            avanza;
                 mientras junto-a-zumbador hacer inicio
                    coge-zumbador;
                   fin;
        fin;
     fin;
     fin;

 define-nueva-instruccion ir como inicio
  mientras frente-libre hacer inicio
       avanza;
       fin;
        si frente-bloqueado entonces inicio
        repetir 3 veces gira-izquierda;
        fin;
        mientras frente-libre hacer inicio
        avanza;
        fin;

 fin;
    inicia-ejecucion
    mientras junto-a-zumbador hacer inicio
        coge-zumbador;

    fin;
    recoge;
       sur;
       ir;
       mientras algun-zumbador-en-la-mochila hacer inicio
           deja-zumbador;
       fin;
        apagate;
    termina-ejecucion
finalizar-programa
