como manejar las variables atraves de la programacion en prolog.
se realizo un programa en el cual se especifica la forma de definir quien es mortal atraves de una interfas de prolog, realizado preguntas.
main:- busca([socrates,mike,platon], N, M), write('existen '), write(N), write(' mortales.'), nl, write('existen '), write(M), write(' que no son mortales.'), nl.
busca([],0,0).
busca([HT], N1, M1):-
mortal(H), # si se encuantra dentro de la lista es verdadero y continua la busqueda.
write(H),
write(' es mortal.'), nl,
busca(T, N2, M2),
N1 is N2 + 1, M1 is M2 + 0. # en esta linea se esta especificando el valor de las variables
acumulativa
busca([HT], N1, M1):- #como existen dos clases de humanos los que son y los que no son
mortales es necesario agregar las busqueda de los no mortales.
write(H),
write(' no es mortal.'), nl,
busca(T, N2, M2),
N1 is N2 + 0,
M1 is M2 + 1.
mortal(X):- humano(X). #se definen a los humanos como mortles
humano(platon). #especificas quien es mortal en este caso platon y socrates.
humano(socrates).
este programa al mandar el main principal, regresa las busquedas indicadas y especifica quien es mortal y cuantos mortales y no mortales hay en la busqueda.