iniciar-programa

define-nueva-instruccion gira(z) como repetir z veces gira-izquierda;

define-nueva-instruccion contar(a) como inicio
    si no-junto-a-zumbador entonces inicio
        avanza;
        contar(sucede(a));
    fin sino inicio
        si orientado-al-este entonces inicio
            coge-zumbador;
            gira(2);
            repetir a veces avanza;
        fin;
        repetir sucede(a) veces deja-zumbador;
    fin;
fin;

    inicia-ejecucion

        mientras no-orientado-al-sur hacer gira(1);
        avanza;
        mientras no-junto-a-zumbador hacer inicio
            gira(1);
            contar(0);
            gira(1);
            avanza;
        fin;

        apagate;
    termina-ejecucion
finalizar-programa
