Базы и банки знаний
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: диплом рф, контрольные работы по математике
| Добавил(а) на сайт: Bukir'.
Предыдущая страница реферата | 1 2
/*задание цели в виде правила*/ do_dbase :- menu. menu:- repeat,
nl, write("***********************************"),nl, write(" 1.Add a book to database "),nl, write(" 2.Delete a book from database"),nl, write(" 3.View a book from database "),nl, write(" 4.Modify a book in database "),nl, write(" 5.Quit from this program "),nl, write("***********************************"),nl, nl, write("Please enter your choice,1,2,3,4,5: "), readint(Choice),nl,
Choice>0,Choice0,C=0, filepos(datafile,Datpos,0), readdevice(datafile), readterm(dbasedom,Term),!, filepos(indexfile,-9,1),
/*Этот предикат вызывает запись на диск содержимого внутреннего буфера индексного файла. Таким образом dbret1 предотвращает возможность работы с данными, которые были удалены до этого.*/ flush(indexfile), writedevice(indexfile), writef("%7.0n",-1), readdevice(keyboard), writedevice(screen).
/*осуществляет поиск нужного индекса в индексном файле*/ dbret1(Term,_):- readdevice(indexfile), readreal(Datpos1), dbret1(Term,Datpos1).
/* Правило dbrd извлекает информацию из файла datafile */ dbrd(Term,Indexfile,Datafile):- openread(datafile,Datafile), openread(indexfile,Indexfile),
/*испльзуется вспомогательный модуль dbaaccess, осуществляющий поиск и выборку данных из файла БД*/ dbaaccess(Term,-1), closefile(datafile), closefile(indexfile).
/*Этот предикат читает данные, логически связанные со значением индекса, задаваемым переменной Datapos.*/ dbaaccess(Term,Datpos):-
Datpos>=0, filepos(datafile,Datpos,0), readdevice(datafile), readterm(dbasedom,Term).
/*Это правило пытается найти в базе такую запись, индекс которой присутствует в индексном файле. Если индекс находится, то правило успешно; если нет, то неуспешно.В случае успеха переменная Term получает нужные пользователю значения*/ dbaaccess(Term,_):- readdevice(indexfile), readreal(Datpos1), dbaaccess(Term,Datpos1).
/* Правила работы со списками */
/*Чтение списка*/ readlist([H|T]):- write("> "),nl, readln(H),!, readlist(T). readlist([]).
/*Вывод списка*/ writelist([H|T]):- write(H, " "), writelist(T). writelist([]).
/*Присоединение списка*/ append([],L,L). append([N|L1],L2,[N|L3]):- append(L1,L2,L3).
/*Удаление элемента списка*/ delete_it(_,[],[]). delete_it(X,[H|T],L):-H=X,!,delete_it(X,T,L). delete_it(X,[H|T],[H|L]):-delete_it(X,T,L).
Выводы.
Была написана программа, реализующая поставленную задачу. При написании программы автор ознакомился с основными понятиями, касающимися баз данных, использованием предикатов и правил для работы с файлами, списками, элементами списков. Работа над составлением программы позволила детально ознакомиться с вопросами организации данных в БД и извлечения из неё необходимой пользователю информации.
Литература.
Ц. Ин, Д. Соломон «Использование Турбо-Пролога» , Издательство «Мир»
Скачали данный реферат: Protasij, Конаков, Jaroslava, Jakunov, Никандров, Шульга, Strahov.
Последние просмотренные рефераты на тему: мцыри сочинение, скачати реферат, шпори, реферат перспектива.
Категории:
Предыдущая страница реферата | 1 2