iniciar-programa
   define-nueva-instruccion g(n) como
   inicio
      repetir n veces
         gira-izquierda;
   fin;
   define-nueva-instruccion regresa como
   inicio
      g(1);
      avanza;
      g(1);
      mientras frente-libre hacer
         avanza;
      g(2);
   fin;
   define-nueva-instruccion come(n) como
   inicio
      si junto-a-zumbador entonces
      inicio
         coge-zumbador;
         come(sucede(n));
      fin
      sino
      inicio
         avanza;
         si no junto-a-zumbador entonces
         inicio
            regresa;
            si junto-a-zumbador entonces
               come(0)
            sino
            inicio
               g(3);
               mientras frente-libre hacer
                  avanza;
               g(1);
               repetir 2 veces
                  avanza;
               g(1);
            fin;
         fin
         sino
            come(0);
         repetir precede(n) veces
            avanza;
         deja-zumbador;
         g(2);
         mientras frente-libre hacer
            avanza;
         g(2);
      fin;
   fin;
   define-nueva-instruccion max(n) como
   inicio
      si frente-libre entonces
      inicio
         avanza;
         max(sucede(n));
      fin
      sino
      inicio
         g(3);
         mientras frente-libre hacer
            avanza;
         g(2);
         repetir n veces
            deja-zumbador;
         avanza;
         avanza;
         g(1);
      fin;
   fin;
   define-nueva-instruccion min(n) como
   inicio
      si no junto-a-zumbador entonces
      inicio
         avanza;
         min(sucede(n));
      fin
      sino
      inicio
         g(2);
         mientras frente-libre hacer
            avanza;
         g(3);
         avanza;
         repetir n veces
            deja-zumbador;
      fin;
   fin;
   inicia-ejecucion
    mientras no orientado-al-este hacer
           gira-izquierda;
    come(0);
    mientras frente-libre hacer
    avanza;
    g(2);
    mientras no junto-a-zumbador hacer
       avanza;
    max(1);
    min(1);
      apagate;
    termina-ejecucion
finalizar-programa
