iniciar-programa
   define-nueva-instruccion tpm como inicio
   mientras no-orientado-al-oeste hacer
     gira-izquierda;
   mientras frente-libre hacer
   avanza;
   mientras no orientado-al-sur hacer
    gira-izquierda;
    mientras frente-libre hacer
    avanza;
    fin;
   define-nueva-instruccion primera como inicio
       mientras no-orientado-al-norte hacer
         gira-izquierda;
    fin;
    define-nueva-instruccion busca como inicio
    coge-zumbador;
     si junto-a-zumbador entonces inicio
        coge-zumbador;
        si junto-a-zumbador entonces inicio

           deja-zumbador;
           deja-zumbador;
           apagate;
        fin;
       deja-zumbador;
     fin;
    deja-zumbador
   fin;
    define-nueva-instruccion camina como inicio
     mientras frente-libre hacer inicio
         avanza;
      si junto-a-zumbador entonces
        busca;
      fin;
    fin;
    define-nueva-instruccion vuelta1 como inicio
      repetir 3 veces
        gira-izquierda;
      si frente-libre entonces inicio
       avanza;
      si junto-a-zumbador entonces
      busca;
       repetir 3 veces
         gira-izquierda;
       fin;
     fin;
     define-nueva-instruccion vuelta2 como inicio
       gira-izquierda;
       si frente-libre entonces inicio
          avanza;
         si junto-a-zumbador entonces
         busca;
          gira-izquierda;
        fin;
     fin;
     define-nueva-instruccion jeje como inicio
     camina;
     vuelta1;
     mientras frente-libre o izquierda-libre y derecha-libre hacer inicio
       si no-orientado-al-sur entonces
     vuelta1;
     camina;
    vuelta2;
    camina;
    fin;
    fin;
   inicia-ejecucion
       tpm;
       primera;
       jeje;
        apagate;
    termina-ejecucion
finalizar-programa
