Subido por kezonaxozo

AFD140989

Anuncio
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
Descargar