iniciar-programa
define-nueva-instruccion gira(u) como
    repetir u veces gira-izquierda;
define-nueva-instruccion rombo(x) como inicio
    si algun-zumbador-en-la-mochila entonces inicio
        repetir 4 veces inicio
            gira(2);
            repetir x veces inicio
                si frente-libre entonces inicio
                    avanza;
                fin
                sino apagate;
            fin;
            gira(1);
            si no junto-a-zumbador entonces deja-zumbador;
            mientras izquierda-libre hacer inicio
                avanza;
                gira(1);
                avanza;
                gira(3);
                si no junto-a-zumbador entonces deja-zumbador;
            fin;
            mientras frente-libre hacer avanza;
        fin;
        rombo(sucede(x));
    fin
    sino apagate;
fin;
    inicia-ejecucion
    gira(1);
    rombo(0);
        apagate;
    termina-ejecucion
finalizar-programa
