public void AgregarAlfabeto(params char[] alfabeto) { foreach (var item in alfabeto) { Alfabeto.Add(item); } }
private void LerAlfabeto() { int op; Console.WriteLine("Insira o alfabeto"); do { Console.WriteLine("Escreva um simbolo para ser inserido: "); var simbolo = Convert.ToChar(Console.ReadLine() ?? throw new InvalidOperationException()); if (Alfabeto.Any(a => a == simbolo)) { Console.WriteLine($"Simbolo {simbolo} ja foi inserido no alfabeto"); } else { Alfabeto.Add(simbolo); } Console.WriteLine("Deseja inserir mais um caracter no alfabeto? 1- Sim 0- Não"); op = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("\n\n" + MostrarAlfabeto()); } while (op == 1); }
public void AgregarEstado(Estado estado) { foreach (var transicion in estado.Transiciones) { if (AlfabetoAutomatico) { Alfabeto.Add(transicion.Key); } else if (!Alfabeto.Contains(transicion.Key)) { throw new TransitionNotInAlphabetException(); } } Estados.Add(estado); estado.AutomataPadre = this; }