  iniciar-programa
define-nueva-instruccion tomar(L) como inicio
    si junto-a-zumbador entonces inicio
        coge-zumbador;
        tomar(sucede(L));
    fin sino inicio
        si si-es-cero (precede(L)) entonces inicio
            gira-izquierda;
        fin;
        si si-es-cero (precede(precede(L))) entonces inicio
            gira-izquierda;
            gira-izquierda;
            gira-izquierda;
        fin;
    fin;
fin;
define-nueva-instruccion pasos(n) como inicio
    si junto-a-zumbador entonces inicio
        coge-zumbador;
        pasos(sucede(n));
    fin sino inicio
        repetir n veces inicio
            avanza;
        fin;
        si junto-a-zumbador entonces inicio
            tomar(0);
        repetir n veces inicio
            deja-zumbador;
            fin; 
        fin;
    fin;
fin;
define-nueva-instruccion numero(R) como inicio
    si junto-a-zumbador entonces inicio
        pasos(0);
        numero(sucede(R));
    fin sino inicio
        repetir R veces inicio
            deja-zumbador;
        fin;
    fin;
fin;
    inicia-ejecucion
    numero(0);
        apagate;
    termina-ejecucion
finalizar-programa
