Documente Academic
Documente Profesional
Documente Cultură
Raport
Lucrarea de laborator nr. 1
PLIA
Tema: Introducere n limbajul Prolog. Mecanisme de control al procesului de
backtracking.
A efectuat:
A verificat:
Lazu Victoria
Chiinu 2015
Scopul lucrrii
nsuirea principiilor fundamentale de programare a limbajului Prolog
Se va citi breviarul teoretic. Se atrage atenia asupra faptului c toate cunotinele
din aceast lucrare vor fi necesare i la efectuarea celorlalte lucrri.
Se vor studia exemplele propuse, ncercnd gsirea altor posibiliti de soluionare a
acestora. Se vor utiliza i alte scopuri(interogri) pentru a testa definiiile
predicatelor introduse.
Se va elabora un arbore genealogic i o baz de cunotine Prolog care ar descrie
relaiile existente n familia dumneavoastr proprie care ar permite cercetarea
acestor relaii prin utilizarea scopurilor externe. Arborele genealogic elaborat trebuie
s conin cel puin trei niveluri. Pentru cercetarea relaiilor existente n familie se
vor utiliza nu mai puin de ase scopuri.
nsuirea noiunilor privind mecanismele specifice limbajului Prolog pentru
controlul procesului de backtracking: cut i fail
Citii breviarul teoretic. Se atrage atenia asupra faptului c toate cunotinele din
aceast lucrare vor fi necesare i la efectuarea celorlalte lucrri.
Lansai la executare programul elaborat n lucrarea 1 i cercetai schimbrile
semanticii procedurale:
o prin schimbarea ordinii propoziiilor fapte;
o prin schimbarea ordinii propoziiilor - reguli; (dou variante)
o prin schimbarea subscopurilor n reguli; (dou variante)
o tragei concluzii.
Rezolvai urmtoarele probleme propuse i urmrii execuia lor corect.
o Elaborai i testai un program pentru determinarea unei valori minime din
dou numere (X i Y), fr utilizarea predicatului cut.
o Elaborai i testai un program pentru determinarea unei valori minime din
dou numere (X i Y), utiliznd predicatul cut rou i cut verde.
o Care vor fi rspunsurile programului
( 1).
( 2) :- !.
( 3).
( X).
( X), p(Y).
( X), !, p(Y).
Doi copii pot juca un meci ntr-un turneu de tenis dac au aceeai vrst. Fie
urmtorii copii i vrstele lor: copil(peter,9). copil(paul,10). copil(chris,9).
copil(susan,9). Definii un predicat din care rezult toate perechile de copii care pot juca
un meci ntr-un turneu de tenis.
Boris
Oxana
Lidia
Elena
IonC
Selena
Gherghe
Junior
IonG
Gheorghe
Elizaveta
Vladimi
r
Tatian
a
NicolaieG
Stefan
IonI
Mirce
a
Baze de cunostinte de calcularea minim si a celor copii care pot sa mearga in turneu.
%lab 2
%calculeaza min fara cut
min(X, Y) :- X =< Y, write(X).
min(X, Y) :- X > Y,write(Y).
%calculez minim cu cut verde
min1(X, Y) :- X =< Y,write("X="),write(X),!.
min1(X, Y) :- X > Y,write("Y="),write(Y).
%calculez minim cu cut rosu
min2(X, Y) :- X =< Y, write(X),!.
min2(X, Y) :- write(Y).
copil(peter,9).
copil(paul,10).
copil(chris,9).
copil(susan,9).
turneu(Copil1, Copil2) :- copil(Copil1, Virsta), copil(Copil2, Virsta),
not(Copil1 = Copil2), !.
Concluzii
Prolog este un limbaj potrivit pentru a putea modela un sistem inteligent artificial.
Mecanismul de backtracking al limbajului Prolog este foarte simplu dar, cum este
organizat acesta poate efectua un ir de operaii/algoritmi. n urma creerei acestui laborator
am neles mai bine crearea programelor in prolog i crearea unui program inteligent.