Advertisement
FocusMePlss

PROLOG

Jul 21st, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.89 KB | None | 0 0
  1. ===== MEDIA A 2 A NR =====
  2. medie(A,A,M):-MIS (A1+A2)/2.
  3. SAU
  4. suma:-write('introduceti primul numar'),read(x),nl,write('introduceti al 2 lea numar'), read(y),write('media este'),R is (x+y)/2,write(R),nl.
  5.  
  6. ===== MAXIMUL A 2 NUMERE =====
  7. max(A,B,A):-A>B.
  8. max(A,B,B):-B>A.
  9. max(_,_,_).
  10. maxim(A,B,C,A):-A>=B,A>=C.
  11.  
  12. ===== CMMDC =====
  13. cmmdc(A,0,A).
  14. cmmdc(A,B,R):-Rest is A mod B, cmmdc(B,Rest,R).
  15.  
  16. ===== MODULUL UNUI NUMAR =====
  17. modul(A,B,A):-A<=B.
  18. modul(A,B,Rez):- A>=B, R is A-B, modul(R,B,Rez).
  19.  
  20. ===== SUMA PRIMELOR N NUMERE NENULE =====
  21. suma(1,1).
  22. suma(X,R):-x>1, A is x-1, suma(A,Y), R is y+x.
  23.  
  24. ===== N FACTORIAL =====
  25. fact(0,1).
  26. fact(N,R):-N>0, A is N-1, fact(A,Y), R is  Y*N.
  27.  
  28. ===== SIRUL LUI FIBONACI =====
  29. fib(1,1).
  30. fib(R,1).
  31. fib(N,R):-N>2,A is N-1 , Bis N-2, fib(A,C),fib(B,D).
  32.  
  33. ===== PREDICAT CARE SA CALCULEZE SUMA =====
  34. suma(1,1).
  35. suma(N,Rez):-N-1, C is N-1, suma (C,R), Rez is R+1/N.
  36.  
  37. ===== SUMA DE PATRATE =====
  38. putere(0,_,0).
  39. putere(_,0,1)
  40. putere(A,B,Rez):- A>0,B>0, C is B-1, putere (A,C,R), Rez is R*A.
  41.  
  42. ===== ECUATIA DE GRAD 2 =====
  43. caz(_,_,Delta):-Delta<0, write ('nu are solutii').
  44. caz(A,B,Delta):-Delta=0, X is -B/2*A, write('Solutii egale x1 = x2 ').
  45. caz(A,B,Delta):-Delta>0,x1 is (-B+sqrt(Delta)/2*A, x2 is (-B- sqrt+Delta)/2*A, write('x1=').
  46. rezolava(A,B,C):-Delta is B*B-4*A*C; caz(A,B,Delta).
  47.  
  48.  
  49. ===== AFISARE LISTA ELEMENT CU ELEMETN ===== (RECURSIVITATE PE DUS)
  50. afisare([]).
  51. afisare([Prim_elem,Rest_lista]):-write(Prim_elem),afisare(Rest_lista).
  52.  
  53. ===== VERIFICATI DACA UN ELEMENT APARTINE  LISTEI =====
  54. mem(X,[X|_]):-write('am gasit').
  55. mem(E,[_|Y]):-mem(E,Y).
  56.  
  57. ===== CATE ELEMENTE ARE O LISTA =====
  58. lungime([],0).
  59. lungime([_|Y],L):-(Y,N), L is N+1.
  60.  
  61. ===== AFISATI ULTIMUL ELEMENT =====
  62. ul_el([X],X):- write(X).
  63. ul_el([_|Y],L):-ul_el(Y,L).
  64.  
  65. ===== VEZI DACA O LISTA ARE NR PAR DE ELEMENTE =====
  66. par([_,_]):-write('lista este para').
  67. par([_,_|Y]:-par(Y).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement