Форум программистов, компьютерный форум, киберфорум
CLIPS
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 15.06.2017
Сообщений: 5
1

Экспертная система выбора подарка

16.04.2020, 00:06. Показов 670. Ответов 0

Здравствуйте! Помогите найти ошибку... Почему программа не выводит результат?

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
(defglobal ?*s* = 0)
(deftemplate Prezent
 (slot pPodarok)
 (slot pPolVozrast)
 (slot pTemperament)
 (slot pPovod)
 (slot pEffekt)
 (slot pCena))
;*******************************************************************
(deffunction VoprosObshiy(?Text_Vopros $?dopustznach)
 (printout t ?Text_Vopros)
 (bind ?Otvet (read))
 (if (lexemep ?Otvet)
 then (bind ?Otvet (lowcase ?Otvet)))
 (while (not (member ?Otvet ?dopustznach)) do
 (printout t ?Text_Vopros)
 (bind ?Otvet (read))
 (if (lexemep ?Otvet) 
 then (bind ?Otvet (lowcase ?Otvet))))
?Otvet)
;********************************************************************'
(defrule Banner
 (declare (salience 10))
 =>(load-facts C:\factpod.txt)
 (printout t crlf crlf)
 (printout t "Expert system. Vipor PODARKA")
 (printout t crlf crlf))
;******************************************************************' 
(defrule VoprosPolVozrast
 (not (PolVozrast ?))
 =>(bind ?otklik(VoprosObshiy "Pol i vozrastnaya kategoriya?(a-Muzhchina,b-Zhenshhina,v-Malchik,g-Devochka,d-ne vajno)"  a b v g d))
 (if (eq ?otklik a)then (assert (PolVozrast Muzhchina)))
 (if (eq ?otklik b)then (assert (PolVozrast Zhenshhina)))
 (if (eq ?otklik v)then (assert (PolVozrast Malchik)))
 (if (eq ?otklik v)then (assert (PolVozrast Devochka)))
 (if (eq ?otklik g)then (assert (PolVozrast VseRavno))))
;******************************************************************'
(defrule VoprosTemperament
 (not (Temperament ?))
 =>(bind ?otklik(VoprosObshiy "Kakoj temperament u nego (nee)?(a-Sangvinik,b-Xolerik,v-Flegmatik,g-Melanxolik,d-VseRavno)"  a b v g d))
 (if (eq ?otklik a)then (assert (Temperament Sangvinik)))
 (if (eq ?otklik b)then (assert (Temperament Xolerik)))
 (if (eq ?otklik v)then (assert (Temperament Flegmatik)))
 (if (eq ?otklik v)then (assert (Temperament Melanxolik)))
 (if (eq ?otklik g)then (assert (Temperament VseRavno))))
;******************************************************************'
(defrule VoprosPovod
 (not (Povod ?))
 =>(bind ?otklik (VoprosObshiy "Kakoj povod?(a-DenRozhdeniya,b-NovyjGod,v-8marta23fevralya,g-VseRavno)"  a b v g))
 (if (eq ?otklik a)then (assert (Povod DenRozhdeniya)))
 (if (eq ?otklik b)then (assert (Povod NovyjGod)))
 (if (eq ?otklik b)then (assert (Povod 8marta23fevralya)))
 (if (eq ?otklik v)then (assert (Povod VseRavno))))
;******************************************************************'
(defrule VoprosEffekt
 (not (Effekt ?))
 =>(bind ?otklik (VoprosObshiy "Zhelaemyj effekt ot podarka?(a-Udivit,b-Obradovat,v-VseRavno)"  a b v))
 (if (eq ?otklik a)then (assert (Effekt Udivit)))
 (if (eq ?otklik b)then (assert (Effekt Obradovat)))
 (if (eq ?otklik v)then (assert (Effekt VseRavno))))
;******************************************************************' 
(defrule VoprosCena
 (not (Cena ?))
 =>(bind ?otklik (VoprosObshiy "Skolko planiruete potratit?(a-do2000,b-ot2000do10000,v-ot10000,g-VseRavno)"  a b v g))
 (if (eq ?otklik a)then (assert (Cena do2000)))
 (if (eq ?otklik b)then (assert (Cena ot2000do10000)))
 (if (eq ?otklik v)then (assert (Cena ot10000)))
 (if (eq ?otklik g)then (assert (Cena VseRavno))))
;******************************************************************' 
(defrule Vivod
 (or (PolVozrast ?xPolVozrast)(PolVozrast VseRavno))
 (or (Temperament ?xTemperament)(Temperament VseRavno))
 (or (Povod ?xPovod)(Povod VseRavno))
 (or (Effekt ?xEffekt)(Effekt VseRavno))
 (or (Cena ?xCena)(Cena VseRavno))
 (Prezent(pPodarok ?Podarok)(pPolVozrast ?xPolVozrast)(pTemperament ?xTemperament)(pPovod ?xPovod)(pEffekt ?xEffekt)(pCena ?xCena))
 =>(bind ?*s*(+ ?*s* 1))
  (printout t crlf "  " ?*s* ".  Podarok : " ?Podarok crlf))
;******************************************************************'
Факты в тексотовм файле записаны так:

Lisp
1
2
3
4
5
6
7
(Prezent(pPodarok 1)(pPolVozrast Muzhchina)(pTemperament Sangvinik)(pPovod DenRozhdeniya)(pEffekt Udivit)(pCena do2000))
 
(Prezent(pPodarok 2)(pPolVozrast Muzhchina)(pTemperament Sangvinik)(pPovod DenRozhdeniya)(pEffekt Udivit)(pCena ot2000do10000))
 
(Prezent(pPodarok 3)(pPolVozrast Muzhchina)(pTemperament Sangvinik)(pPovod DenRozhdeniya)(pEffekt Udivit)(pCena ot10000))
 
(Prezent(pPodarok 4)(pPolVozrast Muzhchina)(pTemperament Xolerik)(pPovod NovyjGod)(pEffekt Obradovat)(pCena ot10000))
0
Миниатюры
Экспертная система выбора подарка  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2020, 00:06
Ответы с готовыми решениями:

Экспертная система для анализа обеспеченности литературой учебного процесса
Здравствуйте!!! Кто умеет программировать на языке CLIPS, а потом интегрировать ядро CLIPS в Visual...

Экспертная система "Выбор породы собаки"
Народ! помогите! у кого есть ЭС Выбор породы собаки? буду благодарен)

Экспертная система
Ребят, нужна помощь, а в Haskell я полный null, последний зачет остался Создание экспертной...

Экспертная система
Вроде все сделала, но программа не работает. Помогите найти ошибки. domains fam, name = string...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2020, 00:06

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Экспертная система
Добрый день Нужна экспертная система по определению оптимальной конфигурации ПК. Входные данные:...

Экспертная система
Нужна экспертная система, написанная на прологе, в принципе на любую тему! Точнее нужен исходник!...

Экспертная система
ЭС по выбору оператора сотовой связи. Выходные данные: 1) зона уверенного приема сигнала; 2)...

Экспертная система
Здравствуйте! Есть код программы: open core, console, string, list class facts - db rule:...

Экспертная система по конфигурации ПК
Экспертная система по определению оптимальной конфигурации ПК. Входные данные: 1) цели...

ESTA экспертная система
Где скачать программу ESTA?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.