iniciar-programa
define-nueva-instruccion norte como inicio
mientras no orientado-al-norte 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 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 tesoro(n) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
tesoro(sucede(n));
fin sino inicio
si frente-libre entonces inicio
avanza;
fin;
si junto-a-zumbador entonces inicio
tesoro(0);
fin;
si si-es-cero (precede(n)) entonces inicio
norte;
avanza;
fin;
si si-es-cero (precede (precede (n))) entonces inicio
este;
avanza;
fin;
si si-es-cero (precede (precede (precede (n)))) entonces inicio
sur;
avanza;
fin;
si si-es-cero (precede (precede (precede (precede (n))))) entonces inicio
oeste;
avanza;
fin;
fin;
fin;

inicia-ejecucion
mientras junto-a-zumbador y frente-libre hacer inicio
avanza;
fin;
gira-izquierda;
gira-izquierda;
si no junto-a-zumbador y frente-libre entonces inicio
avanza;
fin;
tesoro (0);
        apagate;
    termina-ejecucion
finalizar-programa
 