Реферат: Базы и банки знаний
openread(datafile,Datafile),
/*открывает индексный файл на модификацию*/
openmodify(indexfile,Indexfile),
/*испльзуется вспомогательный модуль, который осуществляет поиск
нужной записи и её удаление */
dbret1(Term,-1),
/*закрывает файл данных*/
closefile(datafile),
/*закрывает индексный файл*/
closefile(indexfile).
dbret1(Term,Datpos):-
Datpos>=0,
filepos(datafile,Datpos,0),
readdevice(datafile),
readterm(dbasedom,Term),!,
filepos(indexfile,-9,1),
/*Этот предикат вызывает запись на диск содержимого внутреннего буфера индексного файла. Таким образом dbret1 предотвращает возможность работы с
данными, которые были удалены до этого.*/
flush(indexfile),
writedevice(indexfile),
writef("%7.0\n",-1),
readdevice(keyboard),
writedevice(screen).
/*осуществляет поиск нужного индекса в индексном файле*/
dbret1(Term,_):-
readdevice(indexfile),
readreal(Datpos1),
dbret1(Term,Datpos1).
/* Правило dbrd извлекает информацию из файла datafile */