Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Экспертные системы Visual Prolog 5.2, база знаний, база данных и база правил 
:(
    Опции темы
Aleksfoss
Дата 19.7.2015, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.7.2015

Репутация: нет
Всего: нет



Привет всем, кто нибудь может подсказать где в программе база знаний, база данных и база правил? Буду очень признателен)

Database - framedb
type(INTEGER,STRING,SLIST)
classroom(STRING,INTEGER,ILIST)
ntype(INTEGER)
predicates
getname(SLIST)
checkanswer(INTEGER,SLIST)
getvalue(SLIST,ILIST)
allparam(SLIST,ILIST,STRING,STRING)
nondeterm init
task_win_eh : EHANDLER

clauses
getname([NAME|L]):-
NAME=dlg_GetStr("Имя параметра","Параметры имени:",""),
NAME<>"",
P=dlg_Ask("Хотите продолжить ввод имени параметра?",["Да","Нет" ]),
checkanswer(P,L).
checkanswer(0,L):-getname(L).
checkanswer(1,[]).

getvalue([],[]).
getvalue([NAME|L1],[VALUE|L2]):-
concat(NAME,": ",STR),
VALUESTR=dlg_GetStr("Значения параметров",STR,""),
str_int(VALUESTR,VALUE),
VALUE>=0,
getvalue(L1,L2).

allparam([],[],S,S).
allparam([NAME|L1],[VALUE|L2],STR,S):-
format(STRVALUE,"%",VALUE),
concat(STR,NAME,STR2),
concat(STR2,": ",STR3),
concat(STR3,STRVALUE,STR4),
concat(STR4,"\n",STR5),
allparam(L1,L2,STR5,S).
init:-ntype(_).    
init:-asserta(ntype(0)).

%BEGIN Task Window, e_Create
task_win_eh(_Win,e_Create(_),0):-!,
consult("frame.dba",framedb),
init,    

%BEGIN addclass, e_Create
dlg_addclass_eh(_Win,e_Create(_CreationData),0):-!,
H=win_GetCtlHandle(_Win,typelist),
retract(type(NTYPE,TYPE1,PLIST)),
assertz(type(NTYPE,TYPE1,PLIST)),
type(_,TYPE2,_),
lbox_add(H,TYPE2),
TYPE1=TYPE2,
lbox_SetSel(H,0,b_true),
!.
%END addclass, e_Create

%BEGIN addclass, setvalue _CtlInfo
dlg_addclass_eh(_Win,e_Control(setvalue,_CtrlType, _CtrlWin,_CtlInfo),0):-!,
H=win_GetCtlHandle(_Win,nameclass),
NAMECLASS=win_GetText(H),
NAMECLASS<>"",
not(classroom(NAMECLASS,_,_)),
LH=win_GetCtlHandle(_Win,typelist),
lbox_GetSel(LH,S,_),
S=[TYPE|_],
type(NTYPE,TYPE,LPROP),
getvalue(LPROP,LVALUE),
asserta(classroom(NAMECLASS,NTYPE,LVALUE)),
win_Destroy(_Win),
dlg_note("Дом добавлен"),
!.
dlg_addclass_eh(_Win,e_Control(setvalue,_CtrlType, _CtrlWin,_CtlInfo),0):-!,
dlg_error("Дом не добавлен").
%END addclass, setvalue _CtlInfo

%BEGIN ADDTYPE, setparam _CtlInfo
dlg_addtype_eh(_Win,e_Control(setparam,_CtrlType,_ CtrlWin,_CtlInfo),0):-!,
H1=win_GetCtlHandle(_win,typename),
TYPE=win_GetText(H1),TYPE<>"",not(type(_,TYPE,_)),
getname(L),
retract(ntype(N)),
N2=N+1,
asserta(ntype(N2)),
asserta(type(N2,TYPE,L)),
win_Destroy(_win),
dlg_note("Новый тип был добавлен."),
!.
dlg_addtype_eh(_Win,e_Control(setparam,_CtrlType,_ CtrlWin,_CtlInfo),0):-!,
dlg_error("Новый тип не был добавлен").
%END ADDTYPE, setparam _CtlInfo

%BEGIN findclass, e_Create
dlg_findclass_eh(_Win,e_Create(_CreationData),0):-!,
H=win_GetCtlHandle(_Win,classlist),
retract(classroom(CLASS1,NTYPE,LVALUE)),
assertz(classroom(CLASS1,NTYPE,LVALUE)),
classroom(CLASS2,_,_),
lbox_add(H,CLASS2),
CLASS1=CLASS2,
lbox_SetSel(H,0,b_true),
!.
%END findclass, e_Create

%BEGIN findclass, classlist _CtlInfo
dlg_findclass_eh(_Win,e_Control(classlist,_CtrlTyp e,_CtrlWin,_CtlInfo),0):-!,
H=win_GetCtlHandle(_Win,classlist),
lbox_GetSel(H,S,_),

S=[CLASSROOM|_],
classroom(CLASSROOM,NTYPE,LVALUE),
type(NTYPE,TYPE,LPARAM),
STR="Тип: ",
concat(STR,TYPE,STR2),
concat(STR2,"\n",STR3),
allparam(LPARAM,LVALUE,STR3,STR4),
H2=win_GetCtlHandle(_Win,textparam),
win_SetText(H2,STR4),
lbox_Clear(H),
!.
%END findclass, classlist _CtlInfo
PM MAIL   Вверх
Google
  Дата 23.5.2019, 03:50 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Prolog | Следующая тема »


 




[ Время генерации скрипта: 0.0633 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.