Инженерия знаний. Создание системы "Посредник", заключающей договоры на поставку стройматериалов
Реферат - Компьютеры, программирование
Другие рефераты по предмету Компьютеры, программирование
t
best(integer,integer,integer,integer)
database - best2
best2(integer,integer,integer,integer)
database - flag
flag(Int)
predicates
start
view(Int)
autoload
working(Int)
main_menu
correct(Int)
interact(integer)
warning(integer)
form_best(integer,integer,integer,integer)
form_best2(integer)
f_b2(integer,integer,integer,integer)
fb1(integer,integer,integer,integer)
fb2(integer,integer,integer,integer)
del(Int)
del_sup(string)
ins_sup(string)
view_sup(string)
sve
save_bd
ask
error
io_error
ok
repeat
checkcontr(integer)
all_contract
print_contract
cmp_name(string,string)
find_web(Str,Str)
prn(integer,string)
goal
start.
clauses
/* Основная процедура */
start:-
makewindow(1,26,94,"СИСТЕМА ПОСРЕДНИК",0,0,25,80),
clearwindow,
autoload,
main_menu.
/* Процедура автоматической загрузки баз данных */
autoload:-
retractall(_,поставщик),
existfile("kurs1.dat"),
consult("kurs1.dat",поставщик),
retractall(_,покупатель),
existfile("kurs2.dat"),
consult("kurs2.dat",покупатель),
retractall(_,sup),
existfile("web.dat"),
consult("web.dat",sup),
cursor(21,30),
write("*Базы загружены*").
autoload:-
makewindow(2,74,79,"ОШИБКА",6,18,8,40),
cursor(2,10),
write("Нет базы на диске"),
sound(70,294),
removewindow,
!.
/* Главное меню */
main_menu:-
repeat,
cursor(7,0),
write(" 0 - О системе... "),nl,
write(" 1 - Корректировка данных"),nl,
write(" 2 - Уничтожение записей"),nl,
write(" 3 - Просмотр баз данных"),nl,
write(" 4 - Заключение договоров"),nl,
write(" 5 - Интерактивный режим"),nl,
write(" 6 - Выход из программы"),nl,
write(" =>"),
readint(C),
clearwindow,
working(C),
clearwindow,
C = 6,
retractall(_),
removewindow.
/* Вывод данных о создателе программы */
working(0):-
makewindow(3,27,30,"О системе...",0,0,25,80),
nl,nl,
write(" Инфоpмационно-спpавочная система"),
nl,nl,
write(" Посредник "),
nl,nl,nl,nl,
write(" Программа составлена в среде "),
nl,
write(" TURBO-PROLOG v.2.0."),
nl,nl,nl,
write(" автоp: Данченков А.В."),
nl,nl,
write(" МИРЭА, гp.ИИ-1-95 (С) 1997 г. "),
nl,
sound(5,220),
cursor(22,26),
write("Нажмите на любую клавишу"),
readchar(_),
removewindow,!.
/*Процедура вывода меню корректировки данных*/
working(1):-
makewindow(4,26,48,"Коppектировка данных",0,0,25,80),
sound(5,220),
repeat,
nl,
nl,
cursor(9,0),
write(" 1 - Изменение данных по поставщикам"),nl,
write(" 2 - Изменение данных по покупателям"),nl,
write(" 3 - Добавление данных по поставщикам"),nl,
write(" 4 - Добавление данных по покупателям"),nl,
write(" 5 - Выход в главное меню" ),nl,
write(" =>"),
readint(X),
clearwindow,
X>0,X<=5,
correct(X),
clearwindow,
X=5,!,
removewindow.
/* Процедура вывода меню уничтожения данных*/
working(2):-
makewindow(5,48,107,"Уничтожение записей",0,0,25,80),
sound(5,220),
repeat,
cursor(7,0),
write(" 1 - Удаление из базы данных поставщиков"),nl,
write(" 2 - Удаление из базы данных покупателей"),nl,
write(" 3 - Удаление из классифицирующей сети"),nl,
write(" 4 - Выход"),nl,
write(" => "),
readint(I),
clearwindow,
I>0,I<=4,
del(I),
clearwindow,
I=4,!,
removewindow.
/* Процедура вывода меню просмотра базы данных */
working(3):-
makewindow(6,30,26,"Просмотp баз данных",0,0,25,80),
sound(5,220),
repeat,
nl,
nl,
cursor(7,0),
write(" 1 - Просмотр базы данных по поставщикам"),nl,
write(" 2 - Просмотр базы данных по покупателям"),nl,
write(" 3 - Просмотр связей в классифицирующей сети"),nl,
write(" 4 - Выход в главное меню" ),nl,
write(" =>"),
readint(X),
clearwindow,
X>0,X<=4,
view(X),
clearwindow,
X=4,!,
removewindow.
/* Вызов процедуры, выводящей контракты */
working(4):- retractall(_,best),
retractall(_,best2),
all_contract,!.
/* Процедура вывода меню интерактивного режима */
working(5):-
makewindow(4,26,48,"Заключение договоров в интерактивном режиме",0,0,25,80),
sound(5,220),
repeat,
nl,
nl,
cursor(9,0),
write(" 1 - Поиск поставщика"),nl,
write(" 2 - Поиск покупателя"),nl,
write(" 3 - Выход"),nl,
write(" =>"),
readin