private void buttonGenAlfa_Click(object sender, EventArgs e)
        {
            //Validando que haya un dato deentrada en el textBoxNombre
            if (textBoxNombre.Text.Length == 0 || textBoxMatricula.Text.Length == 0 || textBoxApellido.Text.Length == 0)
            {
                MessageBox.Show("No se a ingresado nombre, apellido y/o matricula", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                Condiciones cond = new Condiciones();
                bool        mat  = cond.validadorMatricula(textBoxMatricula.Text);

                if (mat)
                {
                    Alfabeto alf2 = new Alfabeto();

                    labelMuestraAlfabeto.Text = "{ " + string.Join(",", alf2.obtenerAlfabeto(textBoxNombre.Text.ToLower() + textBoxApellido.Text.ToLower(), textBoxMatricula.Text)) + " }";

                    Gramatica gram2 = new Gramatica();
                    labelj.Text  = "j={ " + string.Join(",", gram2.obtenernombre(textBoxNombre.Text.ToLower())) + " }";
                    labeli.Text  = "i={ " + string.Join(",", gram2.obtenerMatricula(textBoxMatricula.Text)) + " }";
                    labelw.Text  = "w={ " + string.Join(",", gram2.obteneriniciales(textBoxApellido.Text.ToLower(), 1)) + " }";
                    labelwi.Text = "w^I={ " + string.Join(",", gram2.obteneriniciales(textBoxApellido.Text.ToLower(), 2)) + " }";
                }
                else
                {
                    MessageBox.Show("La matricula debe de tener únicamente números", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }
        private void buttonAceptar_Click(object sender, EventArgs e)
        {
            //Validando que haya un dato deentrada en el textBoxNombre
            if (textBoxNombre.Text.Length == 0 || textBoxMatricula.Text.Length == 0 || textBoxApellido.Text.Length == 0)
            {
                MessageBox.Show("No se a ingresado nombre, apellido y/o matricula", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                Condiciones cond = new Condiciones();
                bool        mat  = cond.validadorMatricula(textBoxMatricula.Text);

                if (mat)
                {
                    //Creamos la lista que tendra a nuestro alfabeto
                    List <char> alfabeto = new List <char>();

                    Alfabeto alf2 = new Alfabeto();
                    alfabeto = alf2.obtenerAlfabeto(textBoxNombre.Text.ToLower() + textBoxApellido.Text.ToLower(), textBoxMatricula.Text);

                    labelMuestraAlfabeto.Text = "{ " + string.Join(",", alf2.obtenerAlfabeto(textBoxNombre.Text.ToLower() + textBoxApellido.Text.ToLower(), textBoxMatricula.Text)) + " }";

                    Gramatica gram2 = new Gramatica();
                    labelj.Text  = "j={ " + string.Join(",", gram2.obtenernombre(textBoxNombre.Text.ToLower())) + " }";
                    labeli.Text  = "i={ " + string.Join(",", gram2.obtenerMatricula(textBoxMatricula.Text)) + " }";
                    labelw.Text  = "w={ " + string.Join(",", gram2.obteneriniciales(textBoxApellido.Text.ToLower(), 1)) + " }";
                    labelwi.Text = "w^I={ " + string.Join(",", gram2.obteneriniciales(textBoxApellido.Text.ToLower(), 2)) + " }";

                    ValidarExpresion vExp = new ValidarExpresion(textBoxNombre.Text.ToLower(), textBoxApellido.Text.ToLower(), textBoxMatricula.Text);

                    //variables booleanas para guardar el estado true false de algunas condiciones
                    bool    SoloAlfabeto = cond.EnAlfabeto(textBoxExpresion.Text, alfabeto);
                    bool [] estados      = vExp.validar(textBoxExpresion.Text);

                    if (textBoxExpresion.Text.Length != 0)
                    {
                        MessageBox.Show("Esta en alfabeto: " + SoloAlfabeto +
                                        "\nInicia con la matricula: " + estados[0] +
                                        "\nContiene w: " + estados[1] +
                                        "\nContiene I en medio: " + estados[2] +
                                        "\nContiene 2 wI por cada w: " + estados[3] +
                                        "\nTermina con el nombre repetido 2 veces" + estados[4]);
                    }
                    else
                    {
                        MessageBox.Show("USTED INGRESO NADA", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    MessageBox.Show("La matricula debe de tener únicamente números", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }