iniciar-programa
        define-nueva-instruccion g(n) como
        repetir n veces
         gira-izquierda;
       define-nueva-instruccion cuenta como
        inicio
         si frente-libre entonces
          inicio
          avanza;
          cuenta;
          deja-zumbador;
          fin;
        fin;
       define-nueva-instruccion cosa como
        inicio
          si junto-a-zumbador entonces
             inicio
             coge-zumbador;
             cosa;
             si frente-libre entonces
             avanza
             sino
             apagate;
             si junto-a-zumbador entonces
             inicio
              mientras no-orientado-al-oeste hacer
               g(1);
              cuenta;
             fin
             sino
             deja-zumbador;
             fin;
       fin;

       define-nueva-instruccion pato como
        inicio
         si junto-a-zumbador entonces
          cosa;
         g(2);
         mientras frente-libre hacer
          inicio
           avanza;
           si junto-a-zumbador entonces
           inicio
            coge-zumbador;
           g(2);
           mientras no-junto-a-zumbador hacer
            avanza;
           deja-zumbador;
            g(2);
           fin;
          fin;
         g(2);
         mientras no junto-a-zumbador hacer
          avanza;
          avanza;
         mientras no junto-a-zumbador hacer
          avanza;
         g(2);
         pato;
        fin;
     inicia-ejecucion
       g(3);
      pato;
        apagate;
    termina-ejecucion
finalizar-programa
