Инженерия знаний. Создание системы "Посредник", заключающей договоры на поставку стройматериалов
Реферат - Компьютеры, программирование
Другие рефераты по предмету Компьютеры, программирование
t(X),
clearwindow,
X>0,X<=3,
interact(X),
clearwindow,
X=3,!,
removewindow.
/* Процедура выхода из программы */
working(6):-flag(1),retract(flag(1)),save_bd,!.
working(6).
working(_):-
makewindow(16,74,79,"ОШИБКА ВВОДА",6,18,8,40),
nl,
write(" Введите число от 0 до 6,"),nl,
write(" соответствующее выбранному пункту"),nl,nl,nl,
write(" Нажмите на любую клавишу"),
sound(20,494),
sound(30,392),
readchar(_),
removewindow.
/* Процедуры просмотра баз данных */
view(1):-
makewindow(16,31,26,"Просмотp базы данных по поставщикам",0,0,25,80),
write("|=================================================================|"),nl,
write("| ПОСТАВЩИКИ |"),nl,
write("|=================================================================|"),nl,
write("| | | | | Мин . | | | |"),nl,
write("|No| Фирма | Товар |Производитель| партия | Кол-во |Цена|Д|"),nl,
write("|=================================================================|"),nl,
поставщик(N,Firm,Tov,Proizv,Min,Kol,Price,Srok),
cursor(Z,_),
cursor(Z,1),write(N),
cursor(Z,3),write("",Firm),
cursor(Z,16),write("",Tov),
cursor(Z,36),write("",Proizv),
cursor(Z,50),write("",Min),
cursor(Z,59),write("",Kol),
cursor(Z,68),write("",Price),
cursor(Z,73),write("",Srok),
cursor(Z,0),write(""),
cursor(Z,76),write(""),
nl,
fail.
view(1):-
write("|==================================================================|"),
nl,
cursor(22,26),
write("Нажмите на любую клавишу"),
readchar(_),
removewindow.
view(2):-
makewindow(16,31,26,"Просмотp базы данных по покупателям",0,0,25,80),
write("|=================================================================|"),nl,
write("| ПОКУПАТЕЛИ |"),nl,
write("|=================================================================|"),nl,
write("| | | | | Требуемая | | |"),nl,
write("|No| Фирма | Товар |Производитель| партия |Цена |Д|"),nl,
write("|=================================================================|"),nl,
покупатель(N,Firm,Tov,Proizv,Part,Price,Srok),
cursor(Z,_),
cursor(Z,1),write(N),
cursor(Z,4),write("",Firm),
cursor(Z,20),write("",Tov),
cursor(Z,42),write("",Proizv),
cursor(Z,57),write("",Part),
cursor(Z,67),write("",Price),
cursor(Z,72),write("",Srok),
cursor(Z,0),write(""),
cursor(Z,76),write(""),
nl,
fail.
view(2):-
write("|==================================================================|"),
nl,
cursor(22,26),
write("Нажмите на любую клавишу"),
readchar(_),
removewindow.
view(3):-
makewindow(16,31,26,"Просмотp связей в классифицирующей сети",0,0,25,80),
nl,nl,
view_sup("производитель"),
cursor(21,26),
write(" Просмотр закончен "),nl,
cursor(22,26),
write("Нажмите на любую клавишу"),
readchar(_),
removewindow,!.
view(_).
/* Процедуры коррекции данных в базах данных */
correct(1):-
makewindow(4,26,48,"Изменение данных о поставщках",0,0,25,80),
nl,
write(" Введите порядковый номер поставщика : "),readint(X),nl,
поставщик(X,Firm,Tov,Proizv,Min,Kol,Price,Srok),
clearwindow,nl,
write(" Порядковый номер поставщика : "),write(X),nl,
write(" Фирма : "),write(Firm),nl,
write(" Товар : "),write(Tov),nl,
write(" Производитель : "),write(Proizv),nl,
write(" Минимальная партия : "),write(Min),nl,
write(" Колличество на складе : "),write(Kol),nl,
write(" Цена за единицу товара : "),write(Price),nl,
write(" Сроки поставки : "),write(Srok),nl,
nl,nl,nl,
write(" Введите название фирмы : "),readln(Firm1),
write(" Введите название товара : "),readln(Tov1),
write(" Введите производителя : "),readln(Proizv1),
write(" Введите минимальную партию : "),readInt(Min1),
write(" Введите колличество на складе : "),readInt(Kol1),
write(" Введите цену за единицу товара : "),readreal(Price1),
write(" Введите сроки поставки : "),readInt(Srok1),nl,
X1=X,
retract(поставщик(X,Firm,Tov,Proizv,Min,Kol,Price,Srok)),
assertz(поставщик(X1,Firm1,Tov1,Proizv1,Min1,Kol1,Price1,Srok1)),
!,
ins_sup(Proizv1),
assert(flag(1)),
removewindow.
correct(2):-
makewindow(4,26,48,"Изменение данных о покупателях",0,0,25,80),
nl,
write(" Введите порядковый номер покупателя : "),readint(X),nl,
покупатель(X,Firm,Tov,Proizv,Part,Price,Srok),
clearwindow,nl,
write(" Порядковый номер покупателя : "),write(X),nl,
write(" Фирма : "),write(Firm),nl,
write(" Товар : "),write(Tov),nl,
write(" Производитель : "),write(Proizv),nl,
write(" Необходимая партия : "),write(Part),nl,
write(" Цена за единицу товара : "),write(Price),nl,
write(" Сроки поставки : "),write(Srok),nl,
nl,nl,nl,
write(" Введите название фирмы : "),readln(Firm1),
write(" Введите название товара : "),readln(Tov1),
write(" Введите производителя : "),readln(Proizv1),
write(" Введите необходимую партию : "),readInt(Part1),
write(" Введите цену за единицу товара : "),readreal(Price1),
write(" Введите сроки