iniciar-programa
define-nueva-instruccion g(n) como
inicio
repetir n veces
gira-izquierda;
fin;
   define-nueva-instruccion falta como
   inicio
   si frente-libre entonces
   inicio
   avanza;
   falta;
   deja-zumbador;
   fin;
   fin;
    define-nueva-instruccion suma(n) como
      inicio

     si junto-a-zumbador entonces
      inicio
       coge-zumbador;
       suma(sucede(n));
      fin
      sino
      si frente-libre y no junto-a-zumbador entonces
      inicio
        avanza;
         si no-junto-a-zumbador entonces
        inicio
         g(2);
         mientras frente-libre hacer
         inicio
         avanza;
         fin;
         repetir n veces
         inicio
         deja-zumbador;
         fin;
        fin
        sino
        suma(n);
          fin;



      fin;

      define-nueva-instruccion revisa(n) como
      inicio
      si si-es-cero(n) entonces
      inicio
      avanza;
      deja-zumbador;
      g(2);
      avanza;
      g(2);
      revisa(10);
      fin;
       si junto-a-zumbador entonces
        inicio
        coge-zumbador;
        revisa(precede(n));
        fin
        sino
        inicio
        g(3);
        repetir 10 veces
        inicio
        si frente-libre entonces
        avanza;
        fin;
        g(2);
        repetir n veces
        avanza;
        falta;
        g(3);
        si frente-libre entonces
        avanza;
           si no-junto-a-zumbador entonces
           inicio
           apagate;
           fin;
        revisa(10);
        fin;
      fin;

    inicia-ejecucion
    avanza;
    g(3);
    repetir 8 veces
    inicio
    avanza;
    fin;
    gira-izquierda;
    mientras junto-a-zumbador hacer
    inicio
     suma(0);
     g(3);
     si frente-libre entonces
     inicio
     avanza;
     fin;
     g(3);
     fin;
       g(3);
       avanza;
       mientras junto-a-zumbador hacer
       inicio
       avanza;
       fin;
       g(2);
       si frente-libre entonces
       avanza;
       revisa(10);

        apagate;
    termina-ejecucion
finalizar-programa
