iniciar-programa
define-nueva-instruccion gira(n) como repetir n veces gira-izquierda;

define-nueva-instruccion cuantos(a) como
si no-junto-a-zumbador entonces
inicio
    si frente-libre entonces avanza
    sino
    inicio
        gira(1);
        si frente-bloqueado entonces
        inicio
            si frente-bloqueado entonces gira(2);
            cuantos(sucede(sucede(sucede(a))));
        fin;
    fin;
    cuantos(sucede(a));
fin
sino
inicio
coge-zumbador;
    repetir a veces deja-zumbador;
    apagate;
fin;

    inicia-ejecucion
    cuantos(0);
        apagate;
    termina-ejecucion
finalizar-programa
