ANACONDA PYTHON Callasaca Acuña Fernando 14 November 2017 # ================================================================ # NOMBRE: CALLASACA ACUN~A FERNANDO # CODIGO: 140989 # ALGORITMO: AUTOMATA FINITO DETERMINISTA # ================================================================ # Leemos los estados NE = int(input("Ingrese la cantidad de estados: ")) S = [] for k in range(NE): S.append(k) print(S) # Leemos le Alfabeto NA = int(input("Ingrese la cantidad de elementos del Alfabeto: ")) A = [] for k in range(NA): Elemento = str(input("Ingrese al Alfabeto "+str(k+1)+" : ")) A.append(Elemento) print(A) # Leemos el Estado Inicial Qo = int(input("Ingrese el estado Inicial: ")) # Leemos la cantidad de estados finales NF = int(input("Ingrese la cantidad de Estados Finales: ")) F = [] for k in range(NF): Elemento = int(input("Ingrese el Estado Final "+str(k+1)+" : ")) F.append(Elemento) print(F) # Leemos la tabla de estados E = [] for k in range(NE): L = [] for j in range(NA): Elemento = int(input("Ingrese el Estado "+str(j+1)+" del Estado "+str(k)+" : ")) 1 L.append(Elemento) E.append(L) print(E) # Leemos la Palabra Palabra = str(input("Ingresa la Palabra: ")) ### ==================== ### # Modulo AFD y Modulo Buscar def BuscarIndiceLetra(L,Letra): Indice = -1 for k in range(len(L)): if(L[k]==Letra): Indice = k break; return Indice def BuscarElementoLista(L,Elemento): E = False for k in range(len(L)): if(L[k]==Elemento): E = True break; return E def AFD(Palabra): Q = 0 for k in range(len(Palabra)): Q = E[Q][BuscarIndiceLetra(A,Palabra[k])] return Q Q = AFD("abbbbbbbbbbbbbbbbbbbbbccccccccccccccc") if(BuscarElementoLista(F,Q)): print("La Palabra SI Pertenece al Diccionario Correcto") else: print("La Palabra NO Pertenece al Diccionario Correcto") 2