iniciar-programa
define-nueva-instruccion recoje como
inicio
    mientras junto-a-zumbador hacer
    inicio
        mientras junto-a-zumbador hacer
        inicio
            coge-zumbador;
        fin;
        avanza;
    fin;
    gira-izquierda; gira-izquierda;
    mientras frente-libre hacer
    inicio
        avanza;
    fin;
fin;
define-nueva-instruccion recorre como
inicio
fin;
define-nueva-instruccion inc(d) como
inicio
    repetir d veces inicio
        repetir 10 veces inicio
            coge-zumbador;
        fin;
    fin;
    gira-izquierda; gira-izquierda;
    avanza;
    repetir d veces inicio
        repetir 10 veces inicio
            deja-zumbador;
        fin;
    fin;
    repetir d veces inicio
        coge-zumbador;
    fin;
    gira-izquierda; gira-izquierda;
    avanza;
    gira-izquierda; gira-izquierda; gira-izquierda;
    avanza;
    repetir d veces inicio
        deja-zumbador;
    fin;
    repetir 3 veces gira-izquierda;
fin;
define-nueva-instruccion suma(d) como
inicio
    repetir 9 veces inicio
        si algun-zumbador-en-la-mochila entonces
        inicio
            deja-zumbador;
        fin;
    fin;
    si algun-zumbador-en-la-mochila entonces
    inicio
        deja-zumbador;
        suma(sucede(d));
    fin
    sino inicio
        inc(d);
    fin;
fin;

    inicia-ejecucion
        avanza;
        gira-izquierda; gira-izquierda; gira-izquierda;
        repetir 8 veces avanza;
        gira-izquierda;
        repetir 5 veces inicio
            recoje;
            suma(0);
        fin;
        apagate;
    termina-ejecucion
finalizar-programa 