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

    inicia-ejecucion
        repetir 4 veces
            menor(0);
        apagate;
    termina-ejecucion
finalizar-programa
