Exemplo n.º 1
0
        private void comprobarBTn_Click(object sender, EventArgs e)
        {
            char[] cadenas      = palabraTb.Text.ToCharArray();
            char   estadoActual = EstadoInicial;

            foreach (char letra in cadenas)
            {
                PreTrancisionTipo preTransicion = new PreTrancisionTipo();
                preTransicion.EstadoInicial = estadoActual;
                preTransicion.Alfabeto      = letra;
                try
                {
                    estadoActual = Transiciones[preTransicion];
                }
                catch (KeyNotFoundException)
                {
                    continue;
                }
            }
            if (Estados[estadoActual])
            {
                Respuesta.BackColor = Color.Green;
                Respuesta.Text      = "APROBADA";
            }
            else
            {
                Respuesta.BackColor = Color.Red;
                Respuesta.Text      = "REPROBADA";
            }
        }
Exemplo n.º 2
0
        private void button1_Click(object sender, EventArgs e)
        {
            Alfabeto      = alfabetoBtn.Text.ToCharArray().ToList();
            Estados       = new Dictionary <char, bool>();
            EstadoInicial = EstadoInicialBtn.Text.ToCharArray()[0];
            if (InicialEsFinal.Checked)
            {
                Estados.Add(EstadoInicial, true);
            }
            else
            {
                Estados.Add(EstadoInicial, false);
            }

            char[] temps = estadosNoFinalesBtn.Text.ToCharArray();
            foreach (char temp in temps)
            {
                Estados.Add(temp, false);
            }
            temps = EstadosFinalesBtn.Text.ToCharArray();
            foreach (char temp in temps)
            {
                Estados.Add(temp, true);
            }
            string[] temps2 = deltaBtn.Text.Split(',');
            Transiciones = new Dictionary <PreTrancisionTipo, char>();
            foreach (string temp in temps2)
            {
                char[] partes = temp.ToCharArray();
                if (partes.Length == 3)
                {
                    PreTrancisionTipo preTransicion = new PreTrancisionTipo();
                    preTransicion.EstadoInicial = partes[0];
                    preTransicion.Alfabeto      = partes[1];
                    Transiciones.Add(preTransicion, partes[2]);
                }
            }
        }