RecursividadProlog
Páginas: 2 (255 palabras)
Publicado: 10 de agosto de 2015
1.Division sucesiva
division(X,Y,0) :- X
Y>0,
XmenosY is X-Y, division(XmenosY,Y,Z1),
Z is Z1+1.
2-Factorial de un Numero
fact(0,1).
fact(N,F) :- N>0,
Nmenos1 is N-1, fact(Nmenos1,F1),
F is N*F1.
3.-Serie FIBONACCI
fibo(0,0).
fibo(1,1).
fibo(X,Z) :- X>1,
Xmenos1 is X-1,
Xmenos2 is X-2, fibo(Xmenos1,Z1),
fibo(Xmenos2,Z2),
Z is Z1+Z2.
4.-Potencia de un numero X elevado a la potencia Y.
potencia(X,0,1).
potencia(X,Y,Z) :- X>0, Ymenos1 is Y - 1,
potencia(X,Ymenos1,Z1),
Z is X*Z1.
5.-Multiplicacion recursiva.
producto(0,X,0).
producto(X,Y,Z) :- X>0, Xmenos1 is X-1,
producto(Xmenos1,Y,Z1),
Z is Y + Z1.
6.-Resta Recursiva
resta(X,0,X).
resta(X,Y,Z) :- X>Y,
Y>0,
Ymenos1 is Y-1,resta(X,Ymenos1,Z1),
Z is Z1-1.
7.-Suma Recursiva
suma(1,1).
suma(N,SUM) :- N>1,M is N - 1,suma(M,SUMR),SUM is (SUMR + N).
8.-SumaDigitos
sumardig(X,X) :- X=:=0.
sumardig(X,Y) :- X>0,
Xmodulo10 is X mod 10,
Xdivision10 is X // 10,
sumardig(Xdivision10,Z),
Y is Z+ Xmodulo10.
9.-Verificar que un elemento pertenece a una lista
pertenece(X,[X|_]):- !.
pertenece(X,[_|R]):- pertenece(X,R).
10. Longitudde una Lista
longitud([],0).
longitud([_|Resto], Longitud):- longitud(Resto,LongitudResto), Longitud is LongitudResto+1.
Leer documento completo
Regístrate para leer el documento completo.