iniciar-programa
    define-nueva-instruccion pe como inicio
       si frente-libre entonces inicio
          repetir 2 veces inicio
             avanza;
             repetir 3 veces
                gira-izquierda;
             avanza;
             gira-izquierda;
             coge-zumbador;
          fin;
          pe;
          avanza;
          repetir 3 veces
             gira-izquierda;
          avanza;
          gira-izquierda;
       fin
       sino inicio
          gira-izquierda;
          gira-izquierda;
       fin;
    fin;
    define-nueva-instruccion par(n) como inicio
       repetir 4 veces inicio
          repetir 2 veces
             repetir n veces inicio
                avanza;
             repetir sucede(n) veces
                deja-zumbador;
          fin;
          gira-izquierda;
       fin;
    fin;
    define-nueva-instruccion pi(n) como inicio
       mientras no-orientado-al-sur hacer
          gira-izquierda;
       si frente-libre entonces inicio
          avanza;
          gira-izquierda;
          avanza;
          gira-izquierda;
          par(n);
          pi(sucede(n));
       fin;
    fin;
    inicia-ejecucion
       mientras no-orientado-al-este hacer
          gira-izquierda;
          deja-zumbador;
       mientras frente-libre y izquierda-libre hacer inicio
          repetir 2 veces
             si frente-libre y izquierda-libre entonces inicio
                avanza;
                gira-izquierda;
                avanza;
                repetir 3 veces
                   gira-izquierda;
                deja-zumbador;
             fin
             sino inicio
                coge-zumbador;
             fin;
       fin;
       si no-junto-a-zumbador entonces inicio
          repetir 3 veces
             gira-izquierda;
          avanza;
          repetir 3 veces
             gira-izquierda;
          avanza;
          gira-izquierda;
       fin
       sino inicio
          repetir 3 veces
             gira-izquierda;
       fin;
       coge-zumbador;
       pe;
       deja-zumbador;
       pi(1);
       apagate;
    termina-ejecucion
finalizar-programa
