Правила Пролога Отражают Strucutre - PullRequest
1 голос
/ 19 июля 2010

Мне нужно разработать правила, которые проверяют кредит на покупку автомобиля или нет.

carLoan(flexiCar,minLoanAmount(20000),maxTenure(12) ).
iscarloan(X, Y, Z) :- carLoan(X, Y >= minLoanAmount(20000), Z =<(maxTenure(12)) ).
iscarloan(X, 25000, 10).

Мне нужно проверить переменные Y и Z на соответствие факту внутри правила.

Как этого добиться?

Спасибо.

Ответы [ 2 ]

1 голос
/ 19 июля 2010
iscarloan(X, Y, Z) :-
  carLoan(X, minLoanAmount(MinLoan), maxTenure(MaxTenure)),
  Y >= MinLoan,
  Z =< MaxTenure.

Это то, что ты имел в виду?

0 голосов
/ 19 июля 2010
carLoan(flexiCar, minLoanAmount(20000), maxTenure(12)).

iscarloan(X, Y, Z) :-
    Y = minLoanAmount(MLA),
    Z = maxTenure(MT),
    MLAN is MLA,
    MTN is MT,
    MLAN >= 20000,
    MTN =< 12.

iscarloan(X, 25000, 10).
...