/// <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); }
/// <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); }