iniciar-programa
define-nueva-instruccion gira(n) como
inicio
si junto-a-zumbador entonces
inicio
coge-zumbador;
gira(sucede(n));
fin
sino
repetir n veces gira-izquierda;
fin;
define-nueva-instruccion revisa(n) como
inicio
si si-es-cero(n) entonces apagate;
fin;

define-nueva-instruccion go(n) como
inicio
si orientado-al-norte entonces
    inicio
    avanza;
    si junto-a-zumbador entonces
    gira(0);
    revisa(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
    go(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(sucede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
    sal-de-instruccion;
    fin;
si orientado-al-sur entonces
inicio
    avanza;
    si junto-a-zumbador entonces
    gira(0);
    revisa(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
    go(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
    sal-de-instruccion;
fin;
si orientado-al-este entonces
inicio
    avanza;
    gira(0);
    revisa(sucede(n));
    go(sucede(n));
    sal-de-instruccion;
fin;
si orientado-al-oeste entonces
inicio
    avanza;
    gira(0);
    revisa(precede(n));
    go(precede(n));
    sal-de-instruccion;
fin;
fin;
    inicia-ejecucion
    go(0);
        apagate;
    termina-ejecucion
finalizar-programa
