iniciar-programa
   define-nueva-instruccion multi(n) como
   inicio
      si junto-a-zumbador entonces
      inicio
         coge-zumbador;
         multi(n);
         repetir n veces
            deja-zumbador;
      fin
      sino
      inicio
        gira-izquierda;
        avanza;
        repetir 3 veces
           gira-izquierda;
        avanza;
        repetir 3 veces
           gira-izquierda;
        avanza;
      fin;
   fin;
   define-nueva-instruccion coge(n) como
   inicio
      si junto-a-zumbador entonces
      inicio
         coge-zumbador;
         coge(sucede(n));
      fin
      sino
      inicio
        avanza;
        multi(n);
      fin;
   fin;
   define-nueva-instruccion divi(n) como
   inicio
      mientras junto-a-zumbador hacer
      inicio
         repetir precede(n) veces
            si junto-a-zumbador entonces
            inicio
              coge-zumbador;
              avanza;
              deja-zumbador;
              gira-izquierda;
              gira-izquierda;
              avanza;
              gira-izquierda;
              gira-izquierda;
            fin
            sino
              apagate;
         si junto-a-zumbador entonces
         inicio
            coge-zumbador;
            gira-izquierda;
            avanza;
            gira-izquierda;
            avanza;
            gira-izquierda;
            avanza;
            deja-zumbador;
            repetir 2 veces
               gira-izquierda;
            avanza;
            repetir 3 veces
               gira-izquierda;
            avanza;
            avanza;
            repetir 3 veces
              gira-izquierda;
            avanza;
            mientras junto-a-zumbador hacer
               coge-zumbador;
            repetir 3 veces
               gira-izquierda;
            avanza;
            gira-izquierda;
            gira-izquierda;
          fin
          sino
             apagate;
      fin;
   fin;
   define-nueva-instruccion coge1(n) como
   inicio
      si junto-a-zumbador entonces

      inicio
         coge-zumbador;
         coge1(sucede(n));
      fin
      sino
      inicio
        gira-izquierda;
        gira-izquierda;
        avanza;
        gira-izquierda;
        avanza;
        gira-izquierda;
        avanza;
        gira-izquierda;
        gira-izquierda;
        divi(n);
      fin;
   fin;
   inicia-ejecucion
      avanza;
      gira-izquierda;
      repetir 3 veces
         avanza;
      gira-izquierda;
      avanza;
      gira-izquierda;
     coge(0);
     gira-izquierda;
     gira-izquierda;
     avanza;
     avanza;
     gira-izquierda;
     avanza;
     coge1(0);
     apagate;
   termina-ejecucion
finalizar-programa
