Documente Academic
Documente Profesional
Documente Cultură
1. Sintaxa
2. Raţionamente în Prolog – explicaţii simplificate
3. Folosirea operatorilor
- Expresii matematice.
- Operatorul is şi =
- Operatori logici
4. Folosirea listelor
5. Reguli recurente
Folosirea operatorilor
Gestionarea expresiilor matematice
+, -, *, \, ^
Pot fi folosiţi în
• forma predicat +(2,7) şi
• infix 2 + 7
Folosirea operatorilor – Gestionarea expresiilor matematice
Operatorii is şi =
Operatorul is
Calculele în expresii matematice se efectuează DOAR dacă se
foloseşte operatorul is
A is B – evaluează B și asignează valoarea obținută lui A/ A
este variabilă SAU A și B aceeași constantă numerică
X is 2 + 7.%X devine 9
2 + 7 is X %No
Operatorul =
Este pentru potrivire!!! şi este diferit de is
?- foo(a,2) = foo(b,2).%No.
?- foo(a,2) = foo(a,2,c).%No.
?- foo(3,4) = 7.%No.
?- +(3,4) = 7.%No.
Folosirea operatorilor – Gestionarea expresiilor matematice
Alţi operatori
In Prolog:
X=a; X=b, Z=X echivalent cu
X=a; (X=b, Z=X)
Folosirea operatorilor
Operatori logici
%film(Nume,Categorie,Durata,Premiat,ActoriCelebri).
film(f1,sf,mediu,nu,nu).
film(f2,sf,serial,nu,da).
film(f3,actiune,short,da,da).
film(f4,drama,mediu,da,nu).
alegFilm1(Nume):-
% alege film care este cu durata medie sau care este sf si premiat
film(Nume,Categorie,Durata,Premiat,_),
Durata=mediu;
Premiat=da,
Categorie=sf.
alegFilm2(Nume):-
% alege film care este sf si care este cu durata medie sau premiat
film(Nume,Categorie,Durata,Premiat,_),
(Durata=mediu;
Premiat=da),
Categorie=sf.
Folosirea operatorilor
Exemplu
note(mary,10,8,7).%note lab, test, colocviu.
note(joe,9,6,10).
note(charlie,8,9,4).
note(ann,6,8,5). Sau
medie(X,M):- note(X,L,T,C), L>=5, C>=5
L<5, C>=5
((L>=5, C>=5, M is L*0.2+T*0.3+C*0.5); L>=5, C<5
(L<5,M is 4);(C<5,M is 4)). L<5, C<5
SAU:
rezultatMediocru(X):-medie(X,M), \+rezultatBun(X),
\+rezultatSlab(X).
Folosirea operatorilor
Exerciții
Mașini
Indicăm pentru anumite mașini
o consumul ideal la 100km,
o distanțele parcurse în săptămâna curentă: distante(Masina,
Dist, Zi) cu Zi- luni, marti etc (va fi o faptă pentru fiecare
masina in fiecare zi a săptămânii),
o volum inițial de combustibil in rezervor, volum final, volum
alimentare pe parcursul săptămânii
Calculam %depăsire consum de catalog.
spectatori(Sala,Zi,Numar1,Numar2,Numar3,Numar4).
Folosirea operatorilor
Exerciții
Rețetă medicamente
Pentru fiecare medicament indicăm câte grame sunt necesare din
fiecare substanța (număr de substanțe cunoscut)
Pentru un pacient indicăm ce medicamente ia – o singura fapta
per pacient, in care indicam 0/1 la fiecare medicament (număr de
medicamente cunoscut).
Calculați cantitatea consumată de pacientul X din substanța Y.
Indicați dacă pacientul X consumă mai multă substanța Y decât
substanță Z.
Folosirea operatorilor
Repetă
Operatori pentru calcule matematice în forma predicat/infix.
Operatori logici
Întrebări şi exerciţii: