Advertisement
veto14

li victor.pl

Dec 3rd, 2019
465
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. %1
  2. adiciona(X,L,[X|L]).
  3.  
  4. %2
  5. apaga(X,[X|R],R).
  6. apaga(X,[Y|R1],[Y,R2]):-
  7. apaga(X,R1,R2).
  8.  
  9. %3
  10. membro(X, [X|_]).
  11. membro(X,[_|R]) :- membro(X,R).
  12.  
  13. %4
  14. concatena([],L,L).
  15. concatena([X|L1],L2,[X|L3]):-concatena(L1,L2,L3).
  16.  
  17. %5
  18. comprimento(0,[]).
  19. comprimento(N,[_|R]):- comprimento(N1,R),
  20. N is 1 + N1.
  21.  
  22. %6
  23. max(X,[X]).
  24. max(X,[Y|R]):- max(X,R), X > Y, !.
  25. max(Y,[Y|_]).
  26.  
  27. %7
  28. somatorio(0,[]).
  29. somatorio(X,[Y|R]):- somatorio(S,R),
  30. X is S+Y.
  31.  
  32. media(X,L):- comprimento(N,L),
  33. somatorio(S,L),
  34. X is S/N.
  35.  
  36. %8
  37. nelem(N,L,X):-nelem(N,1,L,X).
  38. nelem(N,N,[X|_],X):-!.
  39. nelem(N,I,[_|R],X):- I1 is I+1,
  40. nelem(N,I1,R,X).
  41.  
  42. %teste dos predicados:
  43.  
  44. q1a(L):-adiciona(1,[2,3],L).
  45. q1b(X):-adiciona(X,[2,3],[1,2,3]).
  46.  
  47. q2a(L):-apaga(a,[a,b,a,c],L).
  48. q2b(L):-apaga(a,L,[b,c]).
  49.  
  50. q3a:-membro(b,[a,b,c]).
  51. q3b(X):-membro(X,[a,b,c]).
  52. q3c(L):-findall(X,membro(X,[a,b,c]),L).
  53.  
  54. q4a(L):-concatena([1,2],[3,4],L).
  55. q4b(L):-concatena([1,2],L,[1,2,3,4]).
  56. q4c(L):-concatena(L,[3,4],[1,2,3,4]).
  57.  
  58. q5(X):-comprimento(X,[a,b,c]).
  59.  
  60. q6(X):-max(X,[3,2,1,7,4]).
  61.  
  62. q7(X):-media(X,[1,2,3,4,5]).
  63.  
  64. q8a:-nelem(2,[1,2,3],2).
  65. q8b(X):-nelem(3,[1,2,3],X).
  66. q8c(X):-nelem(4,[a,b,c,d,e,f,g],X).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement