Toggle navigation
?
users online
Logout
Open hangout
Open chat for current file
% Simulación de un autómata (ver https://bit.ly/3sz0LUQ ) final(e3). trans(e1,a,e1). trans(e1,a,e2). trans(e1,b,e1). trans(e2,b,e3). trans(e3,b,e4). nulo(e2,e4). nulo(e3,e1). acepta(E,[]) :- final(E). acepta(E,[X|L]) :- trans(E,X,E1), acepta(E1,L). acepta(E,L) :- nulo(E,E1), acepta(E1,L). acepta_acotada(E,[],0) :- final(E). acepta_acotada(E,[X|L],N) :- N > 0, trans(E,X,E1), M is N -1, acepta_acotada(E1,L,M). acepta_acotada(E,L,N) :- N > 0, nulo(E,E1), acepta_acotada(E1,L,N). acepta_acotada_2(E,[],_N) :- final(E). acepta_acotada_2(E,[X|L],N) :- N > 0, trans(E,X,E1), M is N-1, acepta_acotada_2(E1,L,M). acepta_acotada_2(E,L,N) :- N > 0, nulo(E,E1), acepta_acotada_2(E1,L,N). /** <examples> ?- acepta(e1,[a,a,a,b]). ?- acepta(e2,[a,a,a,b]). ?- acepta(E,[a,b]). ?- acepta(e1,[X,Y,Z]). ?- acepta_acotada(e1,L,3). ?- acepta_acotada_2(e1,L,3). */