Инженерия знаний. Создание системы "Посредник", заключающей договоры на поставку стройматериалов

Реферат - Компьютеры, программирование

Другие рефераты по предмету Компьютеры, программирование

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