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