iniciar-programa
   define-nueva-instruccion orienta como inicio
      repetir 2 veces
         gira-izquierda;
      mientras frente-libre hacer
         avanza;
      repetir 2 veces
         gira-izquierda;
   fin;
   define-nueva-instruccion re(n) como inicio
      repetir precede(n) veces
         avanza;
      mientras frente-libre hacer inicio
         repetir n veces
           si frente-libre entonces
             avanza;
         si junto-a-zumbador entonces
            coge-zumbador;
      fin;
   fin;
   define-nueva-instruccion ra(n) como inicio
      si junto-a-zumbador entonces inicio
         coge-zumbador;
         si junto-a-zumbador entonces inicio
            coge-zumbador;
            si junto-a-zumbador entonces inicio
               ra(sucede(n));
               si junto-a-zumbador entonces
                 repetir 2 veces
                    deja-zumbador;
            fin;
         fin
         sino inicio
           deja-zumbador;
         fin;
      fin
      sino inicio
         repetir 2 veces
            repetir precede(n) veces
              deja-zumbador;
         deja-zumbador;
      fin;
   fin;
   define-nueva-instruccion ne(n) como inicio
      si junto-a-zumbador entonces inicio
         coge-zumbador;
         si junto-a-zumbador entonces inicio
            coge-zumbador;
            si junto-a-zumbador entonces inicio
               coge-zumbador;
               si junto-a-zumbador entonces inicio
               ne(sucede(n));
               si junto-a-zumbador entonces
                  repetir 3 veces
                     deja-zumbador;
               fin;
            fin
            sino inicio
              repetir 2 veces
                deja-zumbador;
            fin;
         fin
         sino inicio
           deja-zumbador;
         fin;
      fin;
   fin;
   define-nueva-instruccion ri(n) como inicio
      si junto-a-zumbador entonces inicio
         coge-zumbador;
         si junto-a-zumbador entonces inicio
            coge-zumbador;
            si junto-a-zumbador entonces inicio
               coge-zumbador;
               si junto-a-zumbador entonces inicio
                 coge-zumbador;
                 si junto-a-zumbador entonces inicio
                    coge-zumbador;
                    si junto-a-zumbador entonces inicio
                      ri(sucede(n));
                      si junto-a-zumbador entonces
                      repetir 5 veces
                         deja-zumbador;
                     fin;
                  fin
                  sino inicio
                     repetir 4 veces
                        deja-zumbador;
                  fin;
               fin
               sino inicio
                  repetir 3 veces
                     deja-zumbador;
               fin;
            fin
            sino inicio
              repetir 2 veces
                deja-zumbador;
            fin;
         fin
         sino inicio
            deja-zumbador;
         fin;
      fin;
   fin;
   define-nueva-instruccion ro(n) como inicio
      si junto-a-zumbador entonces inicio
         coge-zumbador;
      si junto-a-zumbador entonces inicio
         coge-zumbador;
         si junto-a-zumbador entonces inicio
            coge-zumbador;
            si junto-a-zumbador entonces inicio
               coge-zumbador;
               si junto-a-zumbador entonces inicio
                  coge-zumbador;
                  si junto-a-zumbador entonces inicio
                     coge-zumbador;
                     si junto-a-zumbador entonces inicio
                        coge-zumbador;
                        si junto-a-zumbador entonces inicio
                           si junto-a-zumbador entonces
                              ro(sucede(n));
                        fin;
                     fin
                     sino inicio
                        deja-zumbador;
                     fin;
                  fin
                  sino inicio
                     deja-zumbador;
                  fin;
               fin
               sino inicio
                  deja-zumbador;
               fin;
            fin
            sino inicio
               deja-zumbador;
            fin;
         fin
         sino inicio
            deja-zumbador;
         fin;
      fin
      sino inicio
         deja-zumbador;
      fin;
      fin;
   fin;
    define-nueva-instruccion ru como inicio
       repetir 4 veces inicio
          si frente-libre entonces inicio
             avanza;
             si junto-a-zumbador entonces inicio
                coge-zumbador;
                si junto-a-zumbador entonces inicio
                   coge-zumbador;
                   si no-junto-a-zumbador entonces inicio
                      ru;
                   fin
                   sino inicio
                      repetir 2 veces
                         deja-zumbador;
                      ra(0);
                      si junto-a-zumbador entonces inicio
                         coge-zumbador;
                      si junto-a-zumbador entonces inicio
                         repetir 2 veces
                            coge-zumbador;
                         si no-junto-a-zumbador entonces inicio
                            ru
                         fin
                         sino inicio
                            repetir 3 veces
                               deja-zumbador;
                            ne(0);
                            si junto-a-zumbador entonces inicio
                            coge-zumbador;
                            si junto-a-zumbador entonces inicio
                               repetir 4 veces
                                  coge-zumbador;
                               si no junto-a-zumbador entonces inicio
                                  ru;
                               fin
                               sino inicio
                                  repetir 5 veces
                                     deja-zumbador;
                                 ri(0);
                                  si junto-a-zumbador entonces inicio
                                     coge-zumbador;
                                  si no junto-a-zumbador entonces inicio
                                     ru;
                                  fin
                                  sino inicio
                                     repetir 6 veces
                                        coge-zumbador;
                                     si no-junto-a-zumbador entonces inicio
                                        ru;
                                     fin
                                     sino inicio
                                        repetir 7 veces
                                           deja-zumbador;
                                        ro(0);
                                        si junto-a-zumbador entonces inicio
                                           coge-zumbador;
                                           ru;
                                        fin;
                                     fin;
                                  fin;
                                  fin;
                               fin;
                               fin;
                            fin;
                         fin;
                      fin;
                      fin;
                   fin;
               fin;
             fin;
            repetir 2 veces
               gira-izquierda;
            avanza;
            repetir 2 veces
               gira-izquierda;
          fin;
          gira-izquierda;
       fin;
       apagate;
    fin;
    inicia-ejecucion
       mientras junto-a-zumbador hacer
           coge-zumbador;
       ru;
        apagate;
    termina-ejecucion
finalizar-programa