Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

DialogWindow3

.txt
Скачиваний:
0
Добавлен:
18.02.2023
Размер:
4.47 Кб
Скачать
(deffunction quick-add (?name ?pd ?er ?lt ?jl ?d ?c ?op)
(if (> ?pd 0) then (assert (Account (name ?name) (rule payment-delay) (value ?pd))))
(if (> ?er 0) then (assert (Account (name ?name) (rule early_repayment) (value ?er))))
(if (> ?lt 0) then (assert (Account (name ?name) (rule law-trouble) (value ?lt))))
(if (> ?jl 0) then (assert (Account (name ?name) (rule jobless) (value ?jl))))
(if (> ?d 0) then (assert (Account (name ?name) (rule deposit) (value ?d))))
(if (> ?c 0) then (assert (Account (name ?name) (rule credit) (value ?c))))
(if (> ?op 0) then (assert (Account (name ?name) (rule own-property) (value ?op))))
)

(defgeneric add)
(defmethod add ( (?name SYMBOL) (?rule SYMBOL) )
(assert (Account (name ?name) (rule ?rule) (value 1)))
)
(defmethod add ( (?name SYMBOL) (?rule SYMBOL) (?value INTEGER) )
(if (> ?value 0)
then (assert (Account (name ?name) (rule ?rule) (value ?value))))
)

(defmethod add ( (?name SYMBOL) (?rule-1 SYMBOL) (?rule-2 SYMBOL) (?value INTEGER) )
(if (> ?value 0)
then
(assert (Account (name ?name) (rule ?rule-1) (value ?value)))
(assert (Account (name ?name) (rule ?rule-2) (value ?value)))
)
)

(defmethod add ( (?name SYMBOL) (?rule-1 SYMBOL) (?value-1 INTEGER) (?rule-2 SYMBOL) (?value-2 INTEGER) )
(if (and (> ?value-1 0) (> ?value-1 0))
then
(assert (Account (name ?name) (rule ?rule-1) (value ?value-1)))
(assert (Account (name ?name) (rule ?rule-2) (value ?value-2)))
)
)

(defmethod add ( (?rule SYMBOL) (?value INTEGER) (?name-1 SYMBOL) (?name-2 SYMBOL) )
(if (> ?value 0)
then
(assert (Account (name ?name-1) (rule ?rule) (value ?value)))
(assert (Account (name ?name-2) (rule ?rule) (value ?value)))
)
)


CLIPS> (defgeneric add)
CLIPS> (defmethod add ( (?name SYMBOL) (?rule SYMBOL) )
assert (Account (name ?name) (rule ?rule) (value 1))
)

[EXPRNPSR3] Missing function declaration for Account.

ERROR:
(defmethod MAIN::add
((?name SYMBOL)
(?rule SYMBOL))
assert
(Account
CLIPS> (defmethod add ( (?name SYMBOL) (?rule SYMBOL) )
(assert (Account (name ?name) (rule ?rule) (value 1)))
)
CLIPS> (defmethod add ( (?name SYMBOL) (?rule SYMBOL) (?value INTEGER) )
(if (> ?value 0)
then (assert (Account (name ?name) (rule ?rule) (value ?value))))
)
CLIPS> (defmethod add ( (?name SYMBOL) (?rule-1 SYMBOL) (?rule-2 SYMBOL) (?value INTEGER) )
(if (> ?value 0)
then
(assert (Account (name ?name) (rule ?rule-1) (value ?value)))
(assert (Account (name ?name) (rule ?rule-2) (value ?value)))
)
)
CLIPS> (defmethod add ( (?name SYMBOL) (?rule-1 SYMBOL) (?value-1 INTEGER) (?rule-2 SYMBOL) (?value-2 INTEGER) )
(if (and (> ?value-1 0) (> ?value-1 0))
then
(assert (Account (name ?name) (rule ?rule-1) (value ?value-1)))
(assert (Account (name ?name) (rule ?rule-2) (value ?value-2)))
)
)
CLIPS> (defmethod add ( (?rule SYMBOL) (?value INTEGER) (?name-1 SYMBOL) (?name-2 SYMBOL) )
(if (> ?value 0)
then
(assert (Account (name ?name-1) (rule ?rule) (value ?value)))
(assert (Account (name ?name-2) (rule ?rule) (value ?value)))
)
)
CLIPS> (facts)
f-0 (initial-fact)
f-1 (Account (name Jim_Poll) (rule early_repayment) (value 2))
f-2 (Account (name Jim_Poll) (rule deposit) (value 1))
f-3 (Account (name Jim_Poll) (rule own-property) (value 1))
For a total of 4 facts.
CLIPS> (add John_Dell payment-delay)
<Fact-4>
CLIPS> (add John_Dell early-repayment 2)
<Fact-5>
CLIPS> (add John_Dell deposit credit 1)
<Fact-7>
CLIPS> (add John_Dell own-property 5 jobless 1)
<Fact-9>
CLIPS> (add own-property 1 Marge_Simpson Homer_Simpson)
<Fact-11>
CLIPS> (facts)
f-0 (initial-fact)
f-1 (Account (name Jim_Poll) (rule early_repayment) (value 2))
f-2 (Account (name Jim_Poll) (rule deposit) (value 1))
f-3 (Account (name Jim_Poll) (rule own-property) (value 1))
f-4 (Account (name John_Dell) (rule payment-delay) (value 1))
f-5 (Account (name John_Dell) (rule early-repayment) (value 2))
f-6 (Account (name John_Dell) (rule deposit) (value 1))
f-7 (Account (name John_Dell) (rule credit) (value 1))
f-8 (Account (name John_Dell) (rule own-property) (value 5))
f-9 (Account (name John_Dell) (rule jobless) (value 1))
f-10 (Account (name Marge_Simpson) (rule own-property) (value 1))
f-11 (Account (name Homer_Simpson) (rule own-property) (value 1))
For a total of 12 facts.
CLIPS>
Соседние файлы в предмете Интеллектуальные информационные системы