iniciar-programa

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

define-nueva-instruccion contar(a) como inicio
    si junto-a-zumbador entonces inicio
        coge-zumbador;
        contar(sucede(a));
    fin sino inicio
        repetir a veces deja-zumbador;
        si no(si-es-cero(a)) entonces inicio
             repetir 4 veces inicio
                si frente-libre entonces inicio
                    avanza;
                    repetir precede(a) veces si junto-a-zumbador entonces coge-zumbador;
                    si junto-a-zumbador entonces inicio
                        repetir precede(a) veces deja-zumbador;
                        gira(2);
                        avanza;
                        gira(2);
                    fin sino inicio
                        mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
                        contar(0);
                    fin;
                fin;
                gira(1);
            fin;
            apagate;
        fin sino inicio
            apagate;
        fin;
    fin;
fin;

    inicia-ejecucion

    si no-junto-a-zumbador entonces apagate;

    contar(0);

        apagate;
    termina-ejecucion
finalizar-programa
