Advertisement
Guest User

Untitled

a guest
Jun 21st, 2019
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 2.74 KB | None | 0 0
  1. firma(abc).
  2. firma(klm).
  3. firma(mno).
  4.  
  5. kobieta(anna).
  6. kobieta(maria).
  7. kobieta(julia).
  8. kobieta(ewa).
  9. kobieta(joanna).
  10. kobieta(lena).
  11. kobieta(teresa).
  12.  
  13. mezczyzna(jan).
  14. mezczyzna(karol).
  15. mezczyzna(piotr).
  16. mezczyzna(tomasz).
  17. mezczyzna(lukasz).
  18. mezczyzna(marek).
  19. mezczyzna(jozef).
  20.  
  21. % pracownik(imie, nazwisko, firma, staz_pracy).
  22.  
  23. pracownik(anna, klimczak, firma(abc), 10).
  24. pracownik(anna, maj, firma(abc), 1).
  25. pracownik(maria, jankowska, firma(abc), 12).
  26. pracownik(julia, klimczak,  firma(abc), 4).
  27. pracownik(jan, kowal, firma(abc), 21).
  28. pracownik(karol, lis, firma(abc), 5).
  29. pracownik(anna, lis, firma(klm), 12).
  30. pracownik(piotr, bednarek, firma(klm), 8).
  31. pracownik(tomasz, bednarek, firma(klm), 2).
  32. pracownik(ewa, wilk, firma(klm), 3).
  33. pracownik(ewa, lipiec,firma(klm), 7).
  34. pracownik(lukasz, polak,  firma(klm), 11).
  35. pracownik(marek, doba, firma(klm), 8).
  36. pracownik(anna, just, firma(mno), 22).
  37. pracownik(joanna, wilk, firma(mno), 16).
  38. pracownik(piotr, czekaj, firma(mno), 4).
  39. pracownik(maria, wilczak, firma(mno), 16).
  40. pracownik(piotr, kawa, firma(mno), 14).
  41. pracownik(marek, czubak, firma(mno), 5).
  42. pracownik(marek, lis, firma(mno), 4).
  43.  
  44. % \= oznacza rozne od
  45.  
  46. pracownik_abc(X,Y):- pracownik(X,Y,firma(abc),_).
  47. % to smao co ponizej pracInne(X,Y) :- pracownik(X,Y,Z,_),Z\=firma(abc).
  48. pracInne(X,Y) :- pracownik(X,Y,Z,_), \+ Z=firma(abc).
  49.  
  50. pracKobieta(X,Y):- pracownik(X,Y,_,_),kobieta(X).
  51.  
  52. premia(X,Y,B):- pracownik(X,Y,_,Z), Z>3 -> B is Z*150; B=0.
  53.  
  54. dlugoletniPrac(X,Y,Z) :- pracownik(X,Y,Z,S), S>=10.
  55.  
  56. max2(X,Y,Z) :- X>=Y, Z=X.
  57. max2(X,Y,Z) :- X=<Y, Z=Y.
  58.  
  59. max22(X,Y,Z) :- X>=Y -> Z=X; Z=Y.
  60.  
  61. isList([]).
  62. isList([_|Xs]) :- isList(Xs).
  63.  
  64. isMember(X,[X|_]).
  65. isMember(X,[X]).
  66. isMember(X, [_|Xs]) :- isMember(X,Xs).
  67.  
  68. myLast(X,[X]):-!.
  69. myLast(X, [_|T]) :- myLast(X,T).
  70.  
  71. multiply([X],[Y],[Z]) :- Z is X*Y.
  72. multiply([X|Xs], [Y|Ys], [Z,Ls]) :- Z is X*Y, multiply(Xs,Ys,Ls).
  73.  
  74. suma([],0).
  75. suma([X|Xs],S) :- suma(Xs,S1), S is X+S1.
  76.  
  77. my_l([],0).
  78. my_l([_|Xs],L) :- my_l(Xs,L1), L is 1+L1.
  79.  
  80. element_at(X,[X|_],1).
  81. element_at(X,[_|Xs],K) :- K>1, K1 is K-1, element_at(X,Xs,K1).
  82.  
  83. dupli([],[]).
  84. dupli([X|Xs], [X,X|Ys]) :- dupli(Xs,Ys).
  85.  
  86. my_reverse(L1,L2) :- my_rev(L1,L2,[]).
  87.  
  88. my_rev([],L2,L2).
  89. my_rev([X|Xs],L2,Ac) :- my_rev(Xs, L2,[X|Ac]).
  90.  
  91. end(X,L1,L2) :- append(L1,[X],L2).
  92.  
  93. start(X,L1,L2) :- L2=[X|L1].
  94.  
  95. end2(X,L1,L2) :- my_reverse(L1,Y), start(X,Y,Z), my_reverse(Z,L2).
  96.  
  97. remove_at(X,[X|Xs],1,Xs).
  98. remove_at(X,[Y|Xs], K, [Y|Ys]) :- K>1, K1 is K-1, remove_at(X,Xs,K1,Ys).
  99.  
  100. take(L1,0,[]).
  101. take([X|Xs], N,L2) :- N>0, N1 is N-1, take(Xs,N1,Ls), L2=[X|Ls].
  102.  
  103.  
  104.  
  105. --kolos2019
  106.  
  107. dolar([],[]).
  108. dolar([X|Xs],[X,Z|Ys]) :- dolar(Xs,Ys), Z ='$'.
  109.  
  110. addX(X,[Y],[Z]) :- Z is X+Y.
  111. addX(X, [Y|Ys], [Z|Ls]) :- Z is X+Y, addX(X,Ys,Ls).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement