iniciar-programa
   define-nueva-instruccion gira-derecha como
          inicio
             gira-izquierda;
             gira-izquierda;
             gira-izquierda;
          fin;
   define-nueva-instruccion siembra como
         inicio
           mientras frente-libre hacer
             inicio
                deja-zumbador;
                 avanza;
                fin;
         fin;
    define-nueva-instruccion vuelta como
       inicio
         gira-izquierda;
         gira-izquierda;
       fin;
    define-nueva-instruccion colocate como
        inicio
          gira-izquierda;
          avanza;
          gira-izquierda;
            mientras frente-libre hacer
              inicio
                avanza;
               fin;
              gira-derecha;
              gira-derecha;
        fin;
      inicia-ejecucion
      mientras no-orientado-al-este hacer
         inicio
           gira-izquierda;
          fin;
        avanza;
        mientras junto-a-zumbador hacer
           inicio
             coge-zumbador;
           fin;
        mientras izquierda-bloqueada hacer
            inicio
              avanza;
            fin;
         gira-izquierda;
         avanza;
         mientras izquierda-bloqueada hacer
            inicio
              avanza;
            fin;
         colocate;
         mientras frente-libre y izquierda-libre hacer
            inicio
              siembra;
              deja-zumbador;
              vuelta;
                mientras frente-libre hacer
                  inicio
                    avanza;
                  fin;
                gira-derecha;
                avanza;
                gira-derecha;
            fin;
             mientras frente-libre hacer
            inicio
              siembra;
              deja-zumbador;
             fin;
           apagate;
    termina-ejecucion
finalizar-programa
