iniciar-programa
    define-nueva-instruccion gira(n) como inicio
        repetir n veces inicio
            gira-izquierda;
        fin;
    fin;
    define-nueva-instruccion pon(n) como inicio
        repetir n veces inicio
            deja-zumbador;
        fin;
    fin;
    define-nueva-instruccion toma(n) como inicio
        repetir n veces inicio
            coge-zumbador;
        fin;
    fin;
    define-nueva-instruccion checa como inicio
        si junto-a-zumbador entonces inicio
            toma(1);
            si junto-a-zumbador entonces inicio
                toma(4);
                si junto-a-zumbador entonces inicio
                    toma(1);
                    si junto-a-zumbador entonces inicio
                        toma(4);
                        si junto-a-zumbador entonces inicio
                            toma(1);
                            si junto-a-zumbador entonces inicio
                                toma(4);
                                si junto-a-zumbador entonces inicio
                                    pon(19);
                                    apagate;
                                fin sino inicio
                                    pon(20);
                                    gira(3);
                                fin;
                            fin sino inicio
                                pon(15);
                                apagate;
                            fin;
                        fin sino inicio
                            pon(15);
                            gira(3);
                        fin;
                    fin sino inicio
                        pon(10);
                        apagate;
                    fin;
                fin sino inicio
                    pon(10);
                    gira(3);
                fin;
            fin sino inicio
                pon(5);
                apagate;
            fin;
        fin sino inicio
            pon(5);
            gira(3);
        fin;
    fin;
    define-nueva-instruccion recorre como inicio
        mientras algun-zumbador-en-la-mochila hacer inicio
            mientras izquierda-bloqueada y frente-libre hacer avanza;
            si izquierda-libre entonces inicio
                pon(5);
                gira(1);
                avanza;
            fin sino inicio
                si orientado-al-oeste entonces inicio
                    checa;
                fin sino inicio
                    pon(5);
                    gira(3);
                fin;
            fin;
        fin;
    fin;
    inicia-ejecucion
        si frente-bloqueado y derecha-bloqueada entonces inicio
            pon(20);
            apagate;
        fin;
        pon(1);
        recorre;
        apagate;
    termina-ejecucion
finalizar-programa
