RecursividadProlog

Páginas: 2 (255 palabras) Publicado: 10 de agosto de 2015
RECURSIVIDAD-PROGRAMAS EN PROLOG
1.Division sucesiva
division(X,Y,0) :- X division(X,Y,Z) :- X>=Y,
  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.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS