iniciar-programa
define-nueva-instruccion gira(x) como repetir x veces gira-izquierda;
define-nueva-instruccion encuentra(x) como inicio
    si si-es-cero(x) entonces apagate;
    si frente-libre entonces inicio
        avanza;
        si no-junto-a-zumbador entonces inicio
            gira(2);
            avanza;
            gira(1);
            encuentra(precede(x));
        fin;
    fin sino inicio
    gira(1);
    encuentra(precede(x));
    fin;
 fin;
define-nueva-instruccion zumba como inicio
    gira(1);
    si frente-libre entonces inicio
        avanza;
        si junto-a-zumbador entonces inicio
            gira(4);
            fin sino inicio
                gira(2);
                avanza;
                avanza;
                si junto-a-zumbador entonces inicio
                    gira(4);
                fin sino inicio
                gira(2);                  
                avanza;
                apagate;
                fin;
       fin;
    fin sino inicio
    gira(2);
    si frente-libre entonces inicio
    avanza;
    fin sino inicio
    apagate
    fin;
    si junto-a-zumbador entonces inicio
    gira(4);
    fin sino inicio
    gira(2);
    avanza;
    apagate;
fin;
fin;
fin;
define-nueva-instruccion sigue como inicio
mientras junto-a-zumbador hacer inicio
    mientras junto-a-zumbador y frente-libre hacer avanza;
   si junto-a-zumbador entonces inicio
        zumba;
        fin sino inicio
        gira(2);
        avanza;
        gira(2);
        zumba;
    fin;
fin;
fin;
    inicia-ejecucion
    encuentra(4);
    sigue;
        apagate;
    termina-ejecucion
finalizar-programa
