Главная
Рефераты по биологии Рефераты по экономике Рефераты по москвоведению Рефераты по экологии Краткое содержание произведений Рефераты по физкультуре и спорту Топики по английскому языку Рефераты по математике Рефераты по музыке Остальные рефераты Рефераты по авиации и космонавтике Рефераты по административному праву Рефераты по безопасности жизнедеятельности Рефераты по арбитражному процессу Рефераты по архитектуре Рефераты по астрономии Рефераты по банковскому делу Рефераты по биржевому делу Рефераты по ботанике и сельскому хозяйству Рефераты по бухгалтерскому учету и аудиту Рефераты по валютным отношениям Рефераты по ветеринарии Рефераты для военной кафедры Рефераты по географии Рефераты по геодезии Рефераты по геологии |
Реферат: Разработка информационно-справочной системыРеферат: Разработка информационно-справочной системыЗадание № 11 на курсовое проектирование по дисциплине “Логическое программирование” студенту Пакостиной Александре Викторовне. Группа ИР-1-95.
Язык программирования: Пролог.
3.3. Предусмотреть создание из базы BD новых баз данных B1, B2, характеризуемых признаками, задаваемыми пользователем.
Руководитель: Холкин И.И. ____________ Студент: Пакостина А.В. ____________ Описание
6.
Листинг. % % % Пакостина Александра. % % ИР-1-95. % % Задание 11. % % %
domains artikul = integer cex, sklad = integer name = string rubley, kopeek = integer year, month, day = integer placedom = place(cex, sklad) pricedom = price(rubley, kopeek) datedom = date(year, month, day) database - bd characteristick(artikul, placedom, name, pricedom, datedom) database - b1 table1(artikul, placedom, name, pricedom, datedom) database - b2 table2(artikul, placedom, name, pricedom, datedom) predicates windows go do(char) open(char) store(char) adding correct(char) indication(char) indicationB1(char) indicationB2(char) see(char) del(char) exists(string) show(artikul, placedom, name, pricedom, datedom) get(artikul, placedom, name, pricedom, datedom) goal windows, go. clauses characteristick(1,place(5,6),"Gayka",price(0,45),date(1996,1,4)). characteristick(2,place(6,7),"Vint",price(0,65),date(1996,2,45)). windows :- makewindow(1,52,0,"",24,0,1,80), write(" Пакостина Александра."), makewindow(2,52,0,"",0,0,1,80), write(" Система управления базой данных \"Характеристика детали\""), makewindow(3,112,1," Системное меню ",2,17,14,46), nl, write(" Выберите вариант работы с базами данных:"), nl, nl, write(" 1 :- Загрузить"), nl, write(" 2 :- Сохранить"), nl, write(" 3 :- Просмотреть"), nl, write(" 4 :- Скорректировать"), nl, write(" 5 :- Удалить запись по признакам"), nl, write(" 6 :- Создать по признакам"), nl, write(" 7 :- Добавить"), nl, write(" 8 :- Выход в ДОС"), nl, nl, write(" ------------------| |------------------"), framewindow(126). go :- gotowindow(3), cursor(11,21), readchar(X), do(X).
do('1') :- makewindow(4,18,1," Загрузить ",5,25,10,30), framewindow(19), nl, write(" Куда загрузить ?"), nl, nl, write(" 1 :- В bd"), nl, write(" 2 :- В b1"), nl, write(" 3 :- В b2"), nl, write(" 4 :- Меню"), nl, nl, write(" ------| |------"), cursor(7,13), readchar(X), open(X), removewindow, go, !. do('2') :- makewindow(4,18,1," Сохранить ",5,25,10,30), framewindow(19), nl, write(" Что сохранить ?"), nl, nl, write(" 1 :- bd"), nl, write(" 2 :- b1"), nl, write(" 3 :- b2"), nl, write(" 4 :- Меню"), nl, nl, write(" ------| |------"), cursor(7,13), readchar(X), store(X), removewindow, go, !. do('3') :- makewindow(4,18,1," Просмотреть ",5,25,10,30), framewindow(19), write(" Что просмотреть ?"), nl, nl, write(" 1 :- bd"), nl, write(" 2 :- b1"), nl, write(" 3 :- b2"), nl, write(" 4 :- Меню"), nl, nl, write(" ------| |------"), cursor(7,13), readchar(X), see(X), removewindow, go, !. do('4') :- makewindow(4,18,1," Корректировка ",5,25,9,30), framewindow(19), write(" Способ нахождения записи: "), nl, nl, write(" 1 :- по номеру артикула"), nl, write(" 2 :- по названию"), nl, write(" 3 :- Меню"), nl, nl, write(" ------| |------"), cursor(6,13), readchar(X), correct(X), removewindow, go, !. do('5') :- makewindow(4,18,1," Удаление записи по признаку ",5,25,10,30), framewindow(19), write(" Введите признак:"), nl, nl, write(" 1 :- По артикулу"), nl, write(" 2 :- По названию"), nl, write(" 3 :- Удалить всю базу"), nl, write(" 4 :- Меню"), nl, nl, write(" ------| |------"), cursor(7,13), readchar(X), del(X), removewindow, go, !. do('6') :- makewindow(4,18,1," Создать базу по признаку ",5,25,9,30), framewindow(19), write(" Какую базу создать ?"), nl, nl, write(" 1 :- B1"), nl, write(" 2 :- B2"), nl, write(" 3 :- Меню"), nl, nl, write(" ------| |------"), cursor(6,13), readchar(X), indication(X), removewindow, go, !. do('7') :- makewindow(4,18,1," Добавить запись к главной базе ",7,10,13,60), framewindow(19), adding, removewindow, go, !. do('8') :- makewindow(4,95,1,"Запрос",10,29,5,22), nl, framewindow(94), write(" Выйти ? (Yes/No)"), readchar(X), X='y', exit; removewindow, go, !. do(_) :- makewindow(4,76,1,"Ошибка",8,29,5,22), framewindow(75), nl, write(" Выберите из меню"), readchar(_), removewindow, go.
open('1') :- makewindow(5,95,1,"Загрузка bd",7,20,10,40), framewindow(94), nl, write(" Имя файла : "), readln(FN), exists(FN), consult(FN, bd), nl, write(" Загружено"), readchar(_), removewindow, !. open('2') :- makewindow(5,95,1,"Загрузка b1",7,20,10,40), framewindow(94), nl, write(" Имя файла : "), readln(FN), exists(FN), consult(FN, b1), nl, write(" Загружено"), readchar(_), removewindow, !. open('3') :- makewindow(5,95,1,"Загрузка b2",7,20,10,40), framewindow(94), nl, write(" Имя файла : "), readln(FN), exists(FN), consult(FN, b2), nl, write(" Загружено"), readchar(_), removewindow, !. open('4') :- !. open(_) :- makewindow(5,76,1,"Ошибка",8,29,5,22), framewindow(75), nl, write(" Выберите из меню"), readchar(_), removewindow, removewindow, do('1').
store('1') :- makewindow(5,95,1,"Сохранение bd",7,20,10,40), framewindow(94), nl, write(" Имя файла : "), readln(FN), save(FN, bd), nl, write(" Сохранено"), readchar(_), removewindow, !. store('2') :- makewindow(5,95,1,"Сохранение b1",7,20,10,40), framewindow(94), nl, write(" Имя файла : "), readln(FN), save(FN, b1), nl, write(" Сохранено"), readchar(_), removewindow, !. store('3') :- makewindow(5,95,1,"Сохранение b2",7,20,10,40), framewindow(94), nl, write(" Имя файла : "), readln(FN), save(FN, b2), nl, write(" Сохранено"), readchar(_), removewindow, !. store('4') :- !. store(_) :- makewindow(5,76,1,"Ошибка",8,29,5,22), framewindow(75), nl, write(" Выберите из меню"), readchar(_), removewindow, removewindow, do('2').
see('1') :- makewindow(5,95,1," Просмотр bd ",7,10,9,60), framewindow(94), nl, characteristick(Art,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day)), show(Art,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day)), nl,nl,write("Нажмите ENTER для продолжения..."), readchar(_), nl, fail. see('1') :- removewindow, removewindow, do('3'), !. see('2') :- makewindow(5,95,1," Просмотр b1 ",7,10,9,60), framewindow(94), nl, table1(Art,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day)), show(Art,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day)), nl,nl,write("Нажмите ENTER для продолжения..."), readchar(_), nl, fail. see('2') :- removewindow, removewindow, do('3'), !. see('3') :- makewindow(5,95,1," Просмотр b2 ",7,10,9,60), framewindow(94), nl, table2(Art,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day)), show(Art,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day)), nl,nl,write("Нажмите ENTER для продолжения..."), readchar(_), nl, fail. see('3') :- removewindow, removewindow, do('3'), !. see('4') :- !. see(_) :- makewindow(5,76,1,"Ошибка",8,29,5,22), framewindow(75), nl, write(" Выберите из меню"), readchar(_), removewindow, removewindow, do('3').
correct('1') :- makewindow(5,95,1," Корректировка записи, найденной по артикулу ",7,10,13,60), framewindow(94), write("Номер артикула: "), readint(X), characteristick(X,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day)), nl, write("Старая запись:"), nl, nl, show(X,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day)), nl, nl, write("Введите новый вариант:"), nl, nl, get(ArtD,place(NCD,NSD),NameD,price(RubD,KopD),date(YearD,MonD,DayD)), nl, clearwindow, retract(characteristick(X,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day))), assert(characteristick(ArtD,place(NCD,NSD),NameD,price(RubD,KopD),date(YearD,MonD,DayD))), removewindow, removewindow, do('4'), !. correct('1') :- removewindow, removewindow, do('4'), !. correct('2') :- makewindow(5,95,1," Корректировка записи, найденной по названию ",7,10,13,60), framewindow(94), write("Название: "), readln(X), characteristick(Art,place(NC,NS),X,price(Rub,Kop),date(Year,Mon,Day)), nl, write("Старая запись:"), nl, nl, show(Art,place(NC,NS),X,price(Rub,Kop),date(Year,Mon,Day)), nl, nl, write("Введите новый вариант:"), nl, nl, get(ArtD,place(NCD,NSD),NameD,price(RubD,KopD),date(YearD,MonD,DayD)), nl, clearwindow, retract(characteristick(Art,place(NC,NS),X,price(Rub,Kop),date(Year,Mon,Day))), assert(characteristick(ArtD,place(NCD,NSD),NameD,price(RubD,KopD),date(YearD,MonD,DayD))), removewindow, removewindow, do('4'), !. correct('2') :- removewindow, removewindow, do('4'), !. correct('3') :- !. correct(_) :- makewindow(5,76,1,"Ошибка",8,29,5,22), framewindow(75), nl, write(" Выберите из меню"), readchar(_), removewindow, removewindow, do('4').
del('1') :- makewindow(5,95,1," Удаление по артикулу ",7,20,10,40), framewindow(94), write(" Номер артикула: "), readint(X), retract(characteristick(X,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day))), nl, write(" Готово."), readchar(_), removewindow,removewindow, do('5'), !. del('1') :- makewindow(6,76,1,"Ошибка",8,29,5,22), framewindow(75), nl, write(" Запись не найдена."), readchar(_), removewindow, removewindow, removewindow, do('5'). del('2') :- makewindow(5,95,1," Удаление по названию ",7,20,10,40), framewindow(94), write(" Название: "), readln(X), retract(characteristick(Art,place(NC,NS),X,price(Rub,Kop),date(Year,Mon,Day))), nl, write(" Готово."), readchar(_), removewindow,removewindow, do('5'), !. del('2') :- makewindow(6,76,1,"Ошибка",8,29,5,22), framewindow(75), nl, write(" Запись не найдена."), readchar(_), removewindow, removewindow, removewindow, do('5'). del('3') :- makewindow(5,95,1," Удаление всей базы ",7,20,10,40), framewindow(94), retract(characteristick(_,place(_,_),_,price(_,_),date(_,_,_))), fail. del('3') :- write(" База удалена."), readchar(_), removewindow,removewindow, do('5'), !. del('4') :- !. del('_') :- makewindow(5,76,1,"Ошибка",8,29,5,22), framewindow(75), nl, write(" Выберите из меню"), readchar(_), removewindow, removewindow, do('5').
indication('1') :- makewindow(5,18,1," Создать базу B1 по признаку ",8,25,10,30), framewindow(19), write(" Введите признак:"), nl, nl, write(" 1 :- По месту хранения"), nl, write(" 2 :- По цене"), nl, write(" 3 :- По дате поступления"), nl, write(" 4 :- Меню"), nl, nl, write(" ------| |------"), cursor(7,13), readchar(X), indicationB1(X), removewindow, removewindow, do('6'), !. indication('2') :- makewindow(5,18,1," Создать базу B2 по признаку ",8,25,10,30), framewindow(19), write(" Введите признак:"), nl, nl, write(" 1 :- По месту хранения"), nl, write(" 2 :- По цене"), nl, write(" 3 :- По дате поступления"), nl, write(" 4 :- Меню"), nl, nl, write(" ------| |------"), cursor(7,13), readchar(X), indicationB2(X), removewindow, removewindow, do('6'), !. indication('3') :- !. indication(_) :- makewindow(5,76,1,"Ошибка",8,29,5,22), framewindow(75), nl, write(" Выберите из меню"), readchar(_), removewindow, removewindow, do('6'). indicationB1('1') :- makewindow(6,95,1," Создание базы B1 по месту хранения ",7,20,10,40), framewindow(94), nl, write(" Номер цеха: "), readint(X), write(" Номер склада: "), readint(Y), characteristick(Art,place(X,Y),Name,price(Rub,Kop),date(Year,Mon,Day)), assert(table1(Art,place(X,Y),Name,price(Rub,Kop),date(Year,Mon,Day))), fail. indicationB1('1') :- removewindow, removewindow, indication('1'). indicationB1('2') :- makewindow(6,95,1," Создание базы B1 по цене ",7,20,10,40), framewindow(94), nl, write(" Рублей: "), readint(X), write(" Копеек: "), readint(Y), characteristick(Art,place(NC,NS),Name,price(X,Y),date(Year,Mon,Day)), assert(table1(Art,place(NC,NS),Name,price(X,Y),date(Year,Mon,Day))), fail. indicationB1('2') :- removewindow, removewindow, indication('1'). indicationB1('3') :- makewindow(6,95,1," Создание базы B1 по дате поступления ",7,20,10,40), framewindow(94), nl, write(" Год: "), readint(X), write(" Месяц: "), readint(Y), write(" День: "), readint(Z), characteristick(Art,place(NC,NS),Name,price(Rub,Kop),date(X,Y,Z)), assert(table1(Art,place(NC,NS),Name,price(Rub,Kop),date(X,Y,Z))), fail. indicationB1('3') :- removewindow, removewindow, indication('1'). indicationB1('4') :- !. indicationB1(_) :- makewindow(6,76,1,"Ошибка",8,29,5,22), framewindow(75), nl, write(" Выберите из меню"), readchar(_), removewindow, removewindow, indication('1'). indicationB2('1') :- makewindow(6,95,1," Создание базы B2 по месту хранения ",7,20,10,40), framewindow(94), nl, write(" Номер цеха: "), readint(X), write(" Номер склада: "), readint(Y), characteristick(Art,place(X,Y),Name,price(Rub,Kop),date(Year,Mon,Day)), assert(table2(Art,place(X,Y),Name,price(Rub,Kop),date(Year,Mon,Day))), fail. indicationB2('1') :- removewindow, removewindow, indication('2'). indicationB2('2') :- makewindow(6,95,1," Создание базы B2 по цене ",7,20,10,40), framewindow(94), nl, write(" Рублей: "), readint(X), write(" Копеек: "), readint(Y), characteristick(Art,place(NC,NS),Name,price(X,Y),date(Year,Mon,Day)), assert(table2(Art,place(NC,NS),Name,price(X,Y),date(Year,Mon,Day))), fail. indicationB2('2') :- removewindow, removewindow, indication('2'). indicationB2('3') :- makewindow(6,95,1," Создание базы B2 по дате поступления ",7,20,10,40), framewindow(94), nl, write(" Год: "), readint(X), write(" Месяц: "), readint(Y), write(" День: "), readint(Z), characteristick(Art,place(NC,NS),Name,price(Rub,Kop),date(X,Y,Z)), assert(table2(Art,place(NC,NS),Name,price(Rub,Kop),date(X,Y,Z))), fail. indicationB2('3') :- removewindow, removewindow, indication('2'). indicationB2('4') :- !. indicationB2(_) :- makewindow(6,76,1,"Ошибка",8,29,5,22), framewindow(75), nl, write(" Выберите из меню"), readchar(_), removewindow, removewindow, indication('2').
adding :- get(Art,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day)), nl, write(" Вы ввели :"), nl, show(Art,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day)), nl, nl, write(" Добавить ? (Yes/No)"), readchar(A), A='y', assert(characteristick(Art,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day))); !.
exists(FN) :- existfile(FN); makewindow(6,76,1,"Ошибка",10,25,5,30), nl, framewindow(75), write(" Файл ",FN," не найден!"), readchar(_), removewindow, removewindow, removewindow, do('1'). show(Art,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day)) :- write(" Артикул : ",Art), nl, write(" Местоположение (Цех, Склад) : ",NC,", ",NS), nl, write(" Наименование товара : ",Name), nl, write(" Стоимость (Рублей:Копеек) : ",Rub,":",Kop), nl, write(" Дата поступления (Год-Месяц-День) : ",Year,"-",Mon,"-",Day). get(Art,place(NC,NS),Name,price(Rub,Kop),date(Year,Mon,Day)) :- write(" Артикул : "), readint(Art), write(" Местоположение : "), nl, write(" Цех : "), readint(NC), write(" Склад : "), readint(NS), write(" Наименование товара : "), readln(Name), write(" Стоимость : "), nl, write(" Рублей : "), readint(Rub), write(" Копеек : "), readint(Kop), write(" Дата поступления : "), nl, write(" Год : "), readint(Year), write(" Месяц : "), readint(Mon), write(" День : "), readint(Day).
17 ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ ПО ВЫСШЕМУ ОБРАЗОВАНИЮ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ ( ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ) Факультет Кибернетики. Кафедра интеллектуальных технологий и систем. Курсовая работа. Тема: “Разработка информационно - справочной системы” по дисциплине “Логическое программирование”. (III семестр)
1996 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|