Exemple #1
0
        /// <summary>
        /// Validação Fim do AFD
        /// </summary>
        /// <param name="sistema"></param>
        /// <returns></returns>
        public bool IsValid(Sistema sistema, string palavra, string palavraTest)
        {
            //Verifica se o estadoAtual é o final
            if (!Festado.Contains(estadoATUAL.ToUpper()))
            {
                return(false);
            }

            if (!palavra.Equals(palavraTest))
            {
                return(false);
            }


            return(true);
        }
Exemple #2
0
        /// <summary>
        /// Validação para Inicio do AFD
        /// </summary>
        /// <param name="palavra"></param>
        /// <param name="sistema"></param>
        /// <returns></returns>
        public bool IsValid(string palavra, Sistema sistema)
        {
            //Verifica se a palavra esta de acordo com o alfabet
            if (true)
            {
                int count = 0;
                foreach (var letra in palavra)
                {
                    if (Alfabeto.Contains(letra.ToString()))
                    {
                        count++;
                    }
                }
                if (palavra.Length != count)
                {
                    return(false);
                }
            }
            //Verifica se o estado Inicial e Final esta na lista de estados
            if (true)
            {
                if (!ListEstados.Contains(Iestado))
                {
                    return(false);
                }

                int count = (Festado.Where(item => ListEstados.Contains(item))).Count();
                if (count != Festado.Count)
                {
                    return(false);
                }
            }
            //Verifica se o valor das transições esta no alfabeto
            if (true)
            {
                foreach (var item in ListaTransicao)
                {
                    if (!Alfabeto.Contains(item.NextItem))
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }