domains - , . . :
char (, '');
integer -32768 32767 ( , );
real (, -68.72, -94, -791+21);
string (, " ");
symbol , , - (, n_fax); , , (, " ").
file ' , .
. :
) name = stanDom,
stanDom : int, char, real, string symbol; name . , fio=symbol year, height=integer;
) mylist = elementDom*,
mylist , elementDom, . , number5th = integer* letter = char*;
) myCompDom=functor1 (d11,...,d1n); functor2 (d21,..., d2n) ;... functorm (dm1,...,dmq),
myCompDom , ', . , ";" "or". , dij. ,
auto = car (symbol,integer),
packing = box (integer, integer, integer); bottle (integer)
auto packing. auto car, packing box bottle, , .
) file = name1; name2;... name_n
, .
, '. ' , : , , .
domains
name, firm, type = symbol
freq, vol = integer
device = processor (name, freq); disk (firm, vol); monitor (type)
computer = device*
computer device, processor, disk, monitor, , .
|
|
predicates
predicates () . , , ( 250 ). , , , ( ) . :
predicates
predicateName_1 (domen_11, domen_12,..., domen_1m)
predicateName_n (domen_n1, domen_n2,..., domen_nk)
domen_ij , , domains. . ʳ () () . '. ' , ' . :
predicates
student (string,real)
start
good_student (string)
. . , , . :
predicates
add (integer,integer,integer)
add (real,real,real)
, .
clauses
clauses , , .
, ' . , . :
clauses
predicate_Name_1 (term_11, term_12,..., term_1k) .,
...
predicate_Name_N (term_N1, term_N2,..., term_NL).
predicate_Name_1 , predicates, a term_11,..., term_1k (), . , , , student, :
clauses
student ("",4.5).
student ("",3.75).
, (), .
:- ϳ_1, ϳ_2,..., ϳ_N.,
:- , , . ҳ , . ' .
good_student (Name) :- student (Name, ) , > 4.
, , , , . , . , , , - , . , , . , :
- Name, Name , , Name 4.
|
|
, , . () .
max (, Y, X) :- >=Y.
max (, Y, Y) :- < Y.
, max (number_1, number_2, max_number). , .
goal
goal . . , , ' , .
200 . .
, :
/* 1.2 */
predicates
hello (string)
goal
hello (_).
clauses
hello (Name):- write ("Please, type your name "), readln (Name), nl, write ("Welcome ", Name).
', .
.
. - , ' . , , . .
database
database . , . , predicates. , , , . , consult save.