iniciar-programa

    define-nueva-instruccion multiplica-2(n) como inicio
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            multiplica-2(n);
            repetir n veces deja-zumbador;
        fin;
    fin;

    define-nueva-instruccion multiplica-1(n) como inicio
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            multiplica-1(sucede(n));
        fin sino inicio
            repetir precede(n) veces deja-zumbador;
            avanza;
            multiplica-2(n);
        fin;
    fin;

    define-nueva-instruccion resta como inicio
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            resta;
            coge-zumbador;
        fin sino inicio
            avanza;
        fin;
    fin;

    define-nueva-instruccion copia(n) como inicio
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            copia(sucede(n));
            deja-zumbador;
        fin sino inicio
            repetir n veces deja-zumbador;
            avanza;
        fin;
    fin;

    define-nueva-instruccion gira como inicio
        repetir 2 veces gira-izquierda;
    fin;

    define-nueva-instruccion mueve como inicio
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            mueve;
            deja-zumbador;
        fin sino inicio
            mientras frente-libre hacer avanza;
        fin;
    fin;

    inicia-ejecucion
        repetir 4 veces avanza;
        deja-zumbador;
        gira;

        repetir 2 veces avanza;
        gira;
        copia(0);
        gira;

        repetir 2 veces avanza;
        gira;
        resta;

        mientras junto-a-zumbador hacer inicio
            coge-zumbador;
            avanza;
            multiplica-1(0);
            gira;
            repetir 2 veces avanza;
            gira;
        fin;

        repetir 2 veces avanza;
        gira;
        mueve;

        apagate;
    termina-ejecucion
finalizar-programa
