iniciar-programa
    define-nueva-instruccion este como inicio
      mientras no-orientado-al-este 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 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 principio como inicio                              (*Busca la primera montaa*)
      este;
      mientras frente-libre hacer inicio
        avanza;
      fin;
      oeste;
      mientras no-junto-a-zumbador hacer inicio
        avanza;
      fin;
      norte;
    fin;

    define-nueva-instruccion dejamarca como inicio                               (*Marca las eras geologicas Pasadas*)
      norte;
      avanza;
      deja-zumbador;
      sur;
      avanza;
      norte;
    fin;

    define-nueva-instruccion buscabeeper como inicio                             (*Provoca la Erosion*)
      norte;
      mientras junto-a-zumbador hacer inicio
        avanza;
      fin;
      este;
      si frente-libre entonces inicio
        avanza;
        si junto-a-zumbador entonces inicio
          sur;
          avanza;
          si junto-a-zumbador entonces inicio
            norte;
            avanza;
            oeste;
            avanza;
            norte;
            avanza;
          fin sino inicio
            norte;
            avanza;
            oeste;
            avanza;
            norte;
            avanza;
            avanza;
          fin;
        fin sino inicio
          oeste;
          avanza;
          norte;
          avanza;
        fin;
      fin sino inicio
        norte;
        avanza;
      fin;
      oeste;
      avanza;
      si junto-a-zumbador entonces inicio
        norte;
        mientras junto-a-zumbador hacer inicio
          avanza;
        fin;
        sur;
        avanza;
        coge-zumbador;
        este;
        avanza;
        sur;
        deja-zumbador;
      fin sino inicio
        este;
        avanza;
      fin;
    fin;

    define-nueva-instruccion siguiente como inicio                               (*cambia de columna*)
      sur;
      mientras frente-libre hacer inicio
        avanza;
      fin;
      oeste;
      si frente-libre entonces inicio
        avanza;
      fin sino inicio
        buscabeeper;      
      fin;
      mientras no-junto-a-zumbador y frente-libre hacer inicio
        avanza;
      fin;
    fin;

    define-nueva-instruccion buscaroca como inicio                               (*Busca las rocas de la Montaa*)
      norte;
      mientras frente-libre hacer inicio
        avanza;
      fin;
      sur;
      mientras no-junto-a-zumbador hacer inicio
        avanza;
      fin;
      coge-zumbador;
      mientras no-junto-a-zumbador y frente-libre hacer inicio
        avanza;
      fin;
      si frente-libre entonces inicio
        norte;
        avanza;
        deja-zumbador;
      fin sino inicio
        si no-junto-a-zumbador entonces inicio
          deja-zumbador;
        fin sino inicio
          norte;
          avanza;
          deja-zumbador;
        fin;
      fin;
      sur;
      mientras frente-libre hacer inicio
        avanza;
      fin;                                      
      oeste;
    fin;

    define-nueva-instruccion caerroca como inicio                               (*Deja car las rocas*)
      oeste;
      mientras frente-libre hacer inicio
        si no-junto-a-zumbador entonces inicio
          avanza;
        fin sino inicio
          buscaroca;
          avanza;
        fin;
      fin;
    fin;

    define-nueva-instruccion corre2 como inicio                                  (*Ejecucion secundaria*)
      mientras frente-libre hacer inicio
        buscabeeper;
        siguiente;
      fin;
      si junto-a-zumbador entonces inicio
        buscabeeper;
        sur;
      fin;
      mientras frente-libre hacer inicio
        avanza;
      fin;
      oeste;
    fin;

    define-nueva-instruccion corre como inicio                                   (*Ejecucion primaria*)
      mientras algun-zumbador-en-la-mochila hacer inicio
        principio;
        corre2;
        principio;
        caerroca;
        dejamarca;
      fin;
      norte;
      avanza;
      mientras junto-a-zumbador hacer inicio
        coge-zumbador;
      fin;
      sur;
      avanza;
    fin;



    inicia-ejecucion
        corre;
        apagate;
    termina-ejecucion
finalizar-programa

