Экспертные системы Visual Prolog 5.2

Узнай цену своей работы

Формулировка задачи:

Привет всем, кто нибудь может подсказать какой предикат относится к базе правил, а какой к базе данных? Database - framedb%Описание фреймовой модели с помощью БД type(INTEGER,STRING,SLIST)%Описывает номер типа, название типа, список названий параметров classroom(STRING,INTEGER,ILIST)%Связывает номер дома, указатель на тип, список параметров ntype(INTEGER)%Содержит номер последнего добавленного типа

Решение задачи: «Экспертные системы Visual Prolog 5.2»

textual
Листинг программы
  1. predicates
  2. Database - framedb
  3. type(INTEGER,STRING,SLIST)
  4. classroom(STRING,INTEGER,ILIST)
  5. ntype(INTEGER)
  6. predicates
  7. getname(SLIST)
  8. checkanswer(INTEGER,SLIST)
  9. getvalue(SLIST,ILIST)
  10. allparam(SLIST,ILIST,STRING,STRING)
  11. nondeterm init
  12.   task_win_eh : EHANDLER
  13. clauses
  14. getname([NAME|L]):-
  15.     NAME=dlg_GetStr("Имя параметра","Параметры имени:",""),
  16.     NAME<>"",
  17.     P=dlg_Ask("Хотите продолжить ввод имени параметра?",["Да","Нет" ]),
  18.     checkanswer(P,L).
  19.     checkanswer(0,L):-getname(L).
  20.     checkanswer(1,[]).
  21.    
  22.     getvalue([],[]).
  23.     getvalue([NAME|L1],[VALUE|L2]):-
  24.         concat(NAME,":  ",STR),
  25.         VALUESTR=dlg_GetStr("Значения параметров",STR,""),
  26.         str_int(VALUESTR,VALUE),
  27.         VALUE>=0,
  28.         getvalue(L1,L2).
  29.        
  30.     allparam([],[],S,S).
  31.     allparam([NAME|L1],[VALUE|L2],STR,S):-
  32.         format(STRVALUE,"%",VALUE),
  33.         concat(STR,NAME,STR2),
  34.         concat(STR2,":  ",STR3),
  35.         concat(STR3,STRVALUE,STR4),
  36.         concat(STR4,"\n",STR5),
  37.         allparam(L1,L2,STR5,S).
  38. init:-ntype(_).    
  39. init:-asserta(ntype(0)).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы