, , . , . . .
, , .
6_2
(, , , _)
address() database, adres() predicates.
/* 6_2 */
domains
firm, street, group = symbol
house = integer
database
address (firm, street, house, grup)
predicates
adres (firm, street, house, group)
place (firm, street, house, group)
load_dbd
del (firm)
school (firm)
bank (firm)
clauses
adres (Ô, . , 15, B).
adres ( , . , 57, ).
adres (, . , 32, ).
adres (, . , 23, ).
load_dbd:- adres (X, Av, N, G), assertz (address (X, Av, N, G)), fail.
load_dbd:-!.
del (Firm) :- retract (address (Firm, _, _, _)).
place (X, St, N, G) :- bound (X), address (X, St, N, G),!.
place (X, St, N, G) :- free (X), address (X, St, N, G).
school (Firm) :- le (Firm, St, N, ), write (St, , N), nl.
bank (Firm) :- place (Firm, St, N, ), write (St, , N), nl.
place() . 1() -- address(), .
school () bank () .
load_dbd address() adres(). , adres() .
del(X) , , , .
. :
Goal: adres (Firm, _, _, _)
, . ³ :
Goal: place (Firm, _, _, _)
, , , place() . Goal: load_dbd
|
|
Goal: place (Firm, _, _, Group)
.
, . , load_dbd , . .
. , .
, . .