.


:




:

































 

 

 

 





. Database. Database Predicates. Predicates.

, . , , .

asseta, assertz, retractall, consult, save . (. " "). . SOURSE, HEAP. , . , .

, . : , , .

22. .

Domains

list=integer*

Database db1 % db1

fact1(integer,string,list)

Database db2 % db2

fact2(integer,string)

Clauses

fact1(1,f1,[1,2,3]).

fact1(2,f2,[1,3]).

fact1(3,f3,[2,2,1]).

fact2(1,],"one").

fact2(1,"one one"]).

fact2(2,"two").

:

Goal fact1(X,Y,Z)

:

X=1 Y=f1 Z=[1,2,3])

X=2 Y=f2 Z=[1,3]).

X=3 Y=f3 Z=[2,2,1]).

3 solutions

Goal rettactall(fact1(X,Y,[_,2|Z])) %

X=1 Y=f1 Z=3

X=3 Y=f3 Z=1

Goal retractall(fact1(X,Y,Z))

X=2 Y=f2 z=[1,3]

Goal retractall(db2) %

Yes.

23. . - , , ; , .

. . , . . , , .

, .. . [1].

. , :

animal_is(""): it_is(""),

it_is(""),

positive(""," "),

positive("", " ").

animal_is(): it_is(),

it_is(),

positive(, ),

positive(, ).

animal_is(""): it_is(""),

positive(""," ").

animal_is(""): it_is(""),

negative("", ""),

positive("", ""),

positive("", "- ").

, .

, :

it_is(""):

positive(""," "),

positive("", ""),

positive("", ", ").

it_is(""):

it_is(""),

positive("",""),

positive("æóåò", "æâà÷êó").

Goal animal_is(X),!,

write(" ",X).

, .. , animal_is.

, , . , . positive negative, xpositive xnegative. , .

-, . .

database

xpositive(symbol, symbol)

xnegative(symbol, symbol)

Clauses

positive(X, Y): %

xpositive(X, Y),!. %

positive(X,Y):xnegative(X,Y),!,fail. %

positive(X, Y): % ,

not(xnegative(X, Y)), %

ask(X, Y, yes),!.

ask(X, Y, yes):

write(X, " ", Y, '\n'),

readchar(Reply),

ans_pos(X, Y, Reply).

ans_pos(X,Y,'y'): assertz(xpositive(X,Y)).

ans_pos(X,Y,'n'): assertz(xnegative(X,Y)),!, fail.

, , , positive negative. ( positive, . negative .)

positive , . , . , , , , animal_is. , , .

, , , , :

positive("","").

, "" . , , "y" "n" , :

xpositive(verb,,attribute)

xnegative(verb,attribute).

, , . , .





:


: 2015-10-01; !; : 1370 |


:

:

,
==> ...

1721 - | 1656 -


© 2015-2024 lektsii.org - -

: 0.016 .