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 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 recorrido (n) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
recorrido (sucede (n));
fin sino inicio
si frente-libre entonces inicio
avanza;
recorrido (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
    este;
    mientras junto-a-zumbador y frente-libre hacer inicio
    avanza;
    fin;
    oeste;
    si no-junto-a-zumbador entonces inicio
    avanza;
    fin;
    recorrido (0);



        apagate;
    termina-ejecucion
finalizar-programa
 