This shows you the differences between two versions of the page.
pp:23:laboratoare:prolog:legare-executie [2023/05/09 16:01] bot.pp |
pp:23:laboratoare:prolog:legare-executie [2023/05/17 08:42] (current) alexandru.bala [Puterea generativă a limbajului] |
||
---|---|---|---|
Line 212: | Line 212: | ||
</code> | </code> | ||
- | Inițial, se va încerca unificarea scopul ''%%membru(N, [1, 2, 3])%%'' cu faptul ''%%membru(Elem, [Elem | _]).%%''. Deci ar trebui să unificăm ''%%Elem = N%%'' și ''%%Elem = 1%%'', ceea ce poate prin legarea ''%%N = 1%%''. | + | Inițial, se va încerca unificarea scopului ''%%membru(N, [1, 2, 3])%%'' cu faptul ''%%membru(Elem, [Elem | _]).%%''. Deci ar trebui să unificăm ''%%Elem = N%%'' și ''%%Elem = 1%%'', ceea ce poate prin legarea ''%%N = 1%%''. |
Când alegem să ni se mai //genereze// un răspuns, tastând ''%%;%%'', se va încerca unificarea cu antetul de regulă ''%%membru(Elem, [_ | Rest])%%'', în care ''%%Elem = N%%'', iar ''%%Rest = [2, 3]%%''. Această încercare implică satisfacerea unui nou scop, ''%%membru(N, [2, 3])%%''. Noul scop va unifica, de asemenea, cu primul fapt, ''%%membru(Elem, [Elem | _])%%'', din care va rezulta ''%%N = 2%%''. | Când alegem să ni se mai //genereze// un răspuns, tastând ''%%;%%'', se va încerca unificarea cu antetul de regulă ''%%membru(Elem, [_ | Rest])%%'', în care ''%%Elem = N%%'', iar ''%%Rest = [2, 3]%%''. Această încercare implică satisfacerea unui nou scop, ''%%membru(N, [2, 3])%%''. Noul scop va unifica, de asemenea, cu primul fapt, ''%%membru(Elem, [Elem | _])%%'', din care va rezulta ''%%N = 2%%''. | ||
Line 464: | Line 464: | ||
===== Resurse ===== | ===== Resurse ===== | ||
- | * [[https://github.com/cs-pub-ro/PP-laboratoare/raw/master/prolog/legare-executie/prolog_cheatsheet_2.pdf|Cheatsheet]] | + | * [[https://github.com/cs-pub-ro/PP-laboratoare/raw/master/prolog/legare-executie/prolog_cheatsheet-2.pdf|Cheatsheet]] |
- | * [[https://ocw.cs.pub.ro/courses/_media/pp/22/laboratoare/prolog/legare-executie-schelet.zip|Schelet]] | + | * [[https://ocw.cs.pub.ro/courses/_media/pp/23/laboratoare/prolog/legare-executie-schelet.zip|Schelet]] |
- | * [[https://ocw.cs.pub.ro/courses/_media/pp/22/laboratoare/prolog/legare-executie-solutii.zip|Soluții]] | + | * [[https://ocw.cs.pub.ro/courses/_media/pp/23/laboratoare/prolog/legare-executie-solutii.zip|Soluții]] |