iniciar-programa
    define-nueva-instruccion gira(g) como inicio
       repetir g veces gira-izquierda;
    fin;
    define-nueva-instruccion autocompara(a) como inicio
       si junto-a-zumbador y no(si-es-cero(a)) entonces inicio
          coge-zumbador;
          autocompara(precede(a));
          deja-zumbador;
       fin sino inicio
          si si-es-cero(a) y junto-a-zumbador entonces inicio
             mientras junto-a-zumbador hacer coge-zumbador;
          fin;
       fin;
    fin;
    define-nueva-instruccion carolias(c) como inicio
       si no-junto-a-zumbador entonces inicio
          deja-zumbador;
          repetir 4 veces inicio
             si frente-libre entonces inicio
                avanza;
                carolias(sucede(c));
                gira(2);
                avanza;
                gira(2);
             fin;
             gira-izquierda;
          fin;
          coge-zumbador;
       fin sino inicio
          si junto-a-zumbador entonces inicio
             coge-zumbador;
             si junto-a-zumbador entonces inicio
                coge-zumbador;
                si junto-a-zumbador entonces inicio
                   autocompara(c);
                   deja-zumbador;
                   deja-zumbador;
                fin sino inicio
                   repetir c veces deja-zumbador;
                   deja-zumbador;
                   deja-zumbador;
                fin;
             fin sino inicio
                deja-zumbador;
             fin;
          fin;
       fin;
    fin;
    define-nueva-instruccion busca como inicio
       si no-junto-a-zumbador entonces inicio
          deja-zumbador;
          repetir 4 veces inicio
             si frente-libre entonces inicio
                avanza;
                busca;
                gira(2);
                avanza;
                gira(2);
             fin;
             gira-izquierda;
          fin;
       fin sino inicio
          si junto-a-zumbador entonces inicio
             coge-zumbador;
             si junto-a-zumbador entonces inicio
                coge-zumbador;
                apagate;
             fin sino inicio
                deja-zumbador;
             fin;
          fin;
       fin;
    fin;
    inicia-ejecucion
        si no-junto-a-zumbador entonces inicio
           carolias(0);
        fin;
        busca;
        apagate;
    termina-ejecucion
finalizar-programa
