Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pp:23:laboratoare:prolog:legare-executie [2023/05/16 15:28]
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%%''​.
pp/23/laboratoare/prolog/legare-executie.1684240103.txt.gz · Last modified: 2023/05/16 15:28 by bot.pp
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0