ВУЗ:
Составители:
Рубрика:
45
write("Есть вопросы? (Д|Н)"),
readchar(ДаНет),
ДаНет='Н',!,exit().
clauses
repeat.
repeat:-repeat.
ответить(""):-
кто(Кто),
что(Что),
отн(Отношение),!,
ответ1(Кто,Отношение,Что);
кто(Кто),
что(Что),
not(отн(_)),ф(Кто,_,Что),!,
ответ2(Кто,Что);
кто(Кто),
отн(Отношение),
not(что(_)),!,
ответ3(Кто,Отношение);
кто(Кто),
not(отн(_)),
not(что(_)),!,
ответ4(Кто);
not(
кто(_)),
отн(Отношение),
что(Что),!,
ответ5(Отношение,Что);
not(кто(_)),
отн(Отношение),
not(что(_)),!,
ответ6(Отношение);
46
not(кто(_)),
not(отн(_)),
что(Что),!,
ответ7(Что);
!,write("Не понял"),nl.
ответить(Запрос):-
fronttoken(Запрос,Лексема,Остаток),
анализ_КтоОтношениеЧто(Лексема),
ответить(Остаток).
анализ_КтоОтношениеЧто(Лексема):-
поиск_кто(Лексема),!;
поиск_отношения(Лексема),!;
поиск_что(Лексема),!;
!.
поиск_кто(Лексема):-
not(кто(_)),
ф(Лексема,_,_),!,assert(кто(Лексема));
not(кто(_)),искать_синоним_кто(Лексема),!;!,fail.
поиск_отношения(Лексема):-
not(отн(_)),
ф(_,Лексема,_),!,assert(отн(Лексема));
not(отн(_)),искать_синоним_отношения(Лексема),!;!,fail.
поиск_что(Лексема):-
not(что(_)),
ф(_,_,Лексема),!,assert(что(Лексема));
not(что(_)),искать_синоним_что(Лексема),!;!,fail.
искать_синоним_кто(Лексема):-
соб(Кто,СписокКто),
загрузить_список(СписокКто),
временно(Лексема),!,
retractall(временно(_)),assert(кто(Кто));
write("Есть вопросы? (Д|Н)"), not(кто(_)), readchar(ДаНет), not(отн(_)), ДаНет='Н',!,exit(). что(Что),!, ответ7(Что); clauses repeat. !,write("Не понял"),nl. repeat:-repeat. ответить(Запрос):- ответить(""):- fronttoken(Запрос,Лексема,Остаток), кто(Кто), анализ_КтоОтношениеЧто(Лексема), что(Что), ответить(Остаток). отн(Отношение),!, ответ1(Кто,Отношение,Что); анализ_КтоОтношениеЧто(Лексема):- поиск_кто(Лексема),!; кто(Кто), поиск_отношения(Лексема),!; что(Что), поиск_что(Лексема),!; not(отн(_)),ф(Кто,_,Что),!, !. ответ2(Кто,Что); поиск_кто(Лексема):- кто(Кто), not(кто(_)), отн(Отношение), ф(Лексема,_,_),!,assert(кто(Лексема)); not(что(_)),!, not(кто(_)),искать_синоним_кто(Лексема),!;!,fail. ответ3(Кто,Отношение); поиск_отношения(Лексема):- кто(Кто), not(отн(_)), not(отн(_)), ф(_,Лексема,_),!,assert(отн(Лексема)); not(что(_)),!, ответ4(Кто); not(отн(_)),искать_синоним_отношения(Лексема),!;!,fail. not(кто(_)), поиск_что(Лексема):- отн(Отношение), not(что(_)), что(Что),!, ф(_,_,Лексема),!,assert(что(Лексема)); ответ5(Отношение,Что); not(что(_)),искать_синоним_что(Лексема),!;!,fail. искать_синоним_кто(Лексема):- not(кто(_)), соб(Кто,СписокКто), отн(Отношение), загрузить_список(СписокКто), not(что(_)),!, временно(Лексема),!, ответ6(Отношение); retractall(временно(_)),assert(кто(Кто)); 45 46
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »