Recursividad En Prolog

Páginas: 2 (259 palabras) Publicado: 12 de marzo de 2013
EJERCICIOS DE RECURSIVIDAD EN PROLOG

Elimina Elemento eliminaElem(X,[X|Xs],Xs).eliminaElem(X,[Y|Ys],[Y|Zs]):eliminaElem(X,Ys,Zs).

Factorial factorial(0,1). factorial(1,1). factorial(X,Y) :- X>1, X1 is X-1, factorial(X1,Y1), Y is X*Y1.

Fibonaccifibonacci(0,0). fibonacci(1,1). fibonacci(N,Y) :- N>1, N1 is N-1, fibonacci(N1,Y1), N2 is N-2, fibonacci(N2,Y2), Y is Y1 + Y2. Longitud de una Lista longitudLista([],0). longitudLista([H|T],N):- longitudLista(T,N0), N is N0 + 1.

Mezcla de Vectoresmezcla(Xs,[],Xs). mezcla([],[Y|Ys],[Y|Ys]). mezcla([X|Xs],[Y|Ys],[X|Zs]):-X < Y, mezcla(Xs,[Y|Ys],Zs). mezcla([X|Xs],[Y|Ys],[Y|Zs]):-X >=Y, mezcla([X|Xs],Ys,Zs).

Potencia potencia(1,1,1). potencia(X,1,X). potencia(1,X,1). potencia(X,N,Y):- N >1, N1 is N-1,potencia(X,N1,Y1), Y is Y1*X.

Producto Escalar productoEscalar(Xs,Ys,P):- producto(Xs,Ys,0,P). producto([],[],P,P).producto([X|Xs],[Y|Ys],Pa,Pr):-PnisPa + X * Y, producto(Xs,Ys,Pn,Pr).

Repite elementos de un vector repite(0,X,[]). repite(N,X,[X|Xs]):-N > 0, N1is N - 1, repite(N1,X,Xs).

Suma acumulada sumAcum(Xs,Ys):-sumAc(Xs,0,Ys). sumAc([],S,[]). sumAc([X|Xs],Sa,[Sp|Ys]):-Sp is X +Sa, sumAc(Xs,Sp,Ys).

Sumatoria de elementos de un vector sumatoria([],0). sumatoria([X|Xs],S):-sumatoria(Xs,Sc), S is Sc + X.

Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Recursividad Prolog
  • Prolog
  • prologo
  • Prologo
  • Prologo
  • Prólogo
  • prologo
  • Prólogo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS