Documente Academic
Documente Profesional
Documente Cultură
Comentarii –
incep cu %
sau sunt incadrate intre /*si */
Elaborarea programelor in Prolog
cum interpretez?
dacă p(X) adevărat si r(X) adevărat și dacă p(X) adevărat sau r(X) adevărat,
z(x) adevărat, atunci m(X) adevărat atunci m(X) adevărat
o variabilele să permită:
pasarea tuturor informațiilor de intrare necesare
obținerea răspunsurilor sau a unor informații intermediare
scrierea flexibilă a unor întrebări simple
forme cât mai generale – se folosesc cât mai puține
predicat_Cap(VarIn1,
constante
VarIn2, VarOut, VarAux)
Elaborarea programelor in Prolog
medic(Nume,Grad,Specialitate)
cabinet(Specialitate, Zi, OraStart, OraStop,Medic)
Elaborarea programelor in Prolog
medic(Nume,Grad,Specialitate),
medic(Nume,Grad,Specialitate)
cabinet(Specialitate, Zi, OraStart, OraStop,Medic)
Elaborarea programelor in Prolog
Cum verific?
Pas. 4. Verific/monitorizez raționamentul
Cu Trace pe pot urmări toate potrivirile – util pentru depanarea
programelor mai complexe (”Creep”- pas cu pas)
Cum verific?
Pas. 4. Verific/monitorizez raționamentul
Elaborarea programelor in Prolog
Exerciții
Călătorii https://europa.eu/european-union/about-eu/countries_en
Exerciții
Medicamente
Indicam compoziția unor medicamente, contraindicații. Pentru o anumita boala
indicam ce substanțe active sunt indicate. Pentru un pacient cu afecțiuni
cunoscute alegem medicamente potrivite.
COLDREX: paracetamol, fenilfedrina, vitamina_C. Contraindicatii HTA, diabet
FERVEX: paracetamol, feniramina, vitamina_C. Contraindicatii
NUROFEN RACEALA SI GRIPA: ibuprofen, pseudoefedrina. Contraindicatii: astm,
boli_hepatice, boli_renale.
MODAFEN: ibuprofen, pseudoeedrina. Contraindicatii: astm, boli_hepatice,
boli_renale, HTA, diabet.
Elaborarea programelor in Prolog
Exerciții
Reciclare deșeuri
Pentru mai multe articole indicam materialul din care sunt fabricate.
Indicam culorile pentru recipientele stocare a deșeurilor (albastru – hârtie,
galben- plastic, roșu-metal, verde-sticlă, gri-menajer)
Indicam reguli pentru alegerea culorii recipientului de stocare a deșeurilor
Elaborarea programelor in Prolog
Programe
+ -
Compactitate
Fiecare întrebare rezolvată
separat cu instrucțiuni in plus
Simplitate în - +
elaborare
Uneori greu de găsit regulile Multe exemple
Elaborarea programelor in Prolog
Diferenţa faţă de limbajele imperative
Comparaţie Limbaj descriptiv [Prolog] Limbaj imperativ [C, C++]
Exemple:
Variabile AAb124_5 Logic Curs1
contează)
tara(franta,exupery).
%tara origine, scriitor
refT(X,Y):-
carte(X,Z,_), tara(Y,Z).
%tara Y pentru autorul cartii X
Sintaxa Prolog - Tipuri de termeni permişi
Exemple:
Funcţii (termeni compuşi)
. funcţie („functor”) cu argumente, separate prin virgule, grandparent(X,Z)
dar fără spaţiu înainte de ( student(ac, X)
Exemple:
Predicate
o formate cu termeni compuşi, atomi parent(greta, fredy).
house.
friend(greta, X).
Exemple
oras(ro, iasi).
oras(uk, londra). ECLiPSe cere ca toate clauzele
oras(fr, paris). corespunzătoare aceluiasi predicat
sa fie in linii succesive
oras(fr, lyon).
oras(ro, cluj).
locuitorOras(iasi, ana).
locuitorOras(iasi, mihai).
locuitorOras(cluj, marius).
locuitorTara(X,Y):-locuitorOras(Z,Y), oras(X,Z).
?- locuitorTara(Y,ana).
?- oras(fr,X).
Sintaxa Prolog – Exerciţii
Exerciţii
Cod ținuta
Indicăm tipurile de coduri vestimentare: black_tie, smart_casual,
casual, sport
Indicăm pentru anumite evenimente (dineu ambasada, nunta,
curs, fitness, plimbare parc, conferința) codul vestimentar potrivit.
Indicăm descrieri pentru fiecare cod vestimentar (dacă un articol
e potrivit pentru acel cod) – pentru masculin/feminin
Indicăm pentru o anumită persoana ce articole ar fi potrivite când
merge la un anumit eveniment.
Elaborarea programelor Prolog. Sintaxa
Repetă
Cum definesc faptele și regulile?
Întrebări şi exerciţii:
Ce înseamnă variabila _ ?