Advertisement
Guest User

Untitled

a guest
Sep 18th, 2014
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. %oblicza krok ciągu
  2. %krok(Ciąg,Krok).
  3. krok([X,Y|_],K):-K is abs(Y-X).
  4.  
  5. %znajduje minimalny wyraz ciągu.
  6. %min(Ciąg,MinElement).
  7. min([X],X).
  8. min([H|T],H):-min(T,W), H=<W,!.
  9. min([_|T],W):-min(T,W).
  10.  
  11. %zwraca najmniejszy element w liscie ciągów
  12. %mininlist(ListaCiągów,NajmniejszyElement).
  13. mininlist([X],Y):-min(X,Y),!.
  14. mininlist([X|T],W1):-
  15. mininlist(T,W),min(X,W1),W1=<W.
  16. mininlist([_|T],W):-
  17. mininlist(T,W).
  18.  
  19. %znajduje maksymalny wyraz ciagu.
  20. %maks(Ciąg,MaxElement).
  21. max([X],X).
  22. max([H|T],H):-max(T,W), H>W,!.
  23. max([_|T],W):-max(T,W).
  24.  
  25. %znajduje największy element w liście ciągów.
  26. %maxinlist(ListaCiągówOtymsamymKroku,Max).
  27. maxinlist([X],Y):-max(X,Y),!.
  28.  
  29. maxinlist([X|T],W):-
  30. maxinlist(T,W1),max(X,W),W>W1.
  31. maxinlist([_|T],W):-
  32. maxinlist(T,W).
  33.  
  34. %wypelnia luki między najmniejszym, a najwiekszym elementem
  35. %luki(Min,Step,Maks,Ciąg).
  36. luki(Min,Step,Maks,[Min|L]):-
  37. Min1 is Min+Step,
  38. Maks>Min,
  39. luki(Min1,Step,Maks,L).
  40. luki(Min,_,Min,[Min]).
  41.  
  42. %łączy w jedną listę ciągi o tym samym kroku
  43. %lacz(ListaCiągów,,Krok,ListaCiągówoTymSamymKroku).
  44. lacz([],_,[]).
  45. lacz([X|T],Step,[X|L]):-
  46. krok(X,Step),
  47. lacz(T,Step,L).
  48. lacz([_|T],X,L):-
  49. lacz(T,X,L).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement