fatorial(1, 1). fatorial(X, FatX) :- Y is X - 1, fatorial(Y, FatY), FatX is X * FatY. factorial(0, 1). factorial(N, F) :- N > 0, N1 is N - 1, factorial(N1, F1), F is N * F1. % somatoria somatoria([], 0). somatoria([X | Y], S) :- somatoria(Y, SY), S is X + SY. % numero de elementos numero_de_elementos([], 0). numero_de_elementos([X | Y], N) :- numero_de_elementos(Y, NY), N is 1 + NY. % media media(Lista, Media) :- numero_de_elementos(Lista, Num_elem), somatoria(Lista, S), Media is S / Num_elem. % fatorial fatorial(1, 1). fatorial(X, FatX) :- Y is X - 1, fatorial(Y, FatY), FatX is X * FatY.