Реферат: Базы и банки знаний

Реферат: Базы и банки знаний




⚡ 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Санкт-Петербургский государственный технический университет
Кафедра системного анализа и управления
Выполнил студент группы 3082/2 Торопов. К.Д.
1.Теоретическая часть……………………………………………………………3.
2.Постановка задачи...........................................................................................…4.
3.Текст программы..................................................................................................4.
4.Выводы.................................................................................................................13.
5.Литература............................................................................................................13.
Prolog является компиляторно-ориентированным языком программирования высокого уровня и предназначен для программирования задач из области искусственного интеллекта(ИИ) . Как язык программирования ИИ он особенно хорош для создания экспертных систем, динамических баз данных, программ с применением естественно-языковых конструкций; он также может быть использован для других задач общего характера. Prolog имеет окна, цветную графику и интерактивные средства ввода-вывода, что свидетельствует о его максимальном удобстве для пользователя прикладных программ.
Prolog – это декларативный язык, программы на котором содержат объявления логических взаимосвязей, необходимых для решения задачи. Обозначения, используемые в Prolog для выражения логических взаимосвязей, унаследованы из логики предикатов.
Prolog имеет внутренние подпрограммы для выполнения сопоставления и связанных с ним процессов. Они являются неотъемлемой частью языка и называются внутренними подпрограммами унификации. Эти подпрограммы выполняют сопоставление целей и подцелей с фактами и головами правил для того , чтобы доказать (или вычислить) эти цели или подцели. Эти же подпрограммы определяют, сгенерированы ли новые подцели правой части правила. Программист в соответствии с логическим синтаксисом Prolog объявляет, какие факты и правила дают тот или иной результат при различных подцелях, а внутренние подпрограммы унификации выполняют оставшуюся часть работы.
Факты и правила являются утверждениями, которые образуют данные программы на Prolog. Правила имеют левую часть и правую часть. Левая часть правила истинна, если истинна правая часть правила. Правила генерируют новые факты, когда все утверждения в теле оказываются вычисленными.
Prolog использует откаты для определения альтернативных путей вычисления цели или подцели. Если подцель оказалась неуспешной, а указатели отката были установлены, то для предыдущей подцели будет сделана попытка добиться успеха, начиная с точки отката.
Prolog позволяет выполнять целый ряд операций со списками. Их перечень включает: доступ к объектам списка, проверка на принадлежность к списку, разделение списка на два, слияние двух списков, сортировку элементов списка в порядке возрастания или убывания.
Prolog обеспечивает возможности для удобной и эффективной обработки файлов. Сюда можно включить встроенные предикаты для обработки и закрытия файлов, чтения из файла и записи в файл, изменения данных в файле, а также дозапись в уже существующий файл. Данные из файла могут обрабатываться либо как непрерывный поток символов, либо как структурированные объекты типа записей базы данных.
В Prolog имеются специальные средства для организации баз данных. Эти средства рассчитаны на работу с реляционными базами данных, так как Prolog особенно хорош для написания диалоговой системы именно для реляционной БД: внутренние унификационные процедуры языка осуществляют автоматическую выборку фактов с нужными значениями известных параметров и присваивают значения ещё не определённым. К тому же механизм отката позволяет находить все имеющиеся ответы на сделанный вопрос.
Требуется написать программу учёта книг – название, автор(или список авторов), год выпуска, издательство. Программа должна позволять найти нужную книгу, добавить/удалить книгу, изменить содержимое нужной записи и сохранить всё в файл.
nondeterm menu_modify /*меню модификации*/
nondeterm process(integer) /*различные операции из перечня меню*/
nondeterm proc(integer) /*различные операции из перечня меню модификации*/
nondeterm dbassert(dbasedom) /*добавление данных*/
nondeterm dbass(dbasedom,string,string) /*модуль ввода данных*/
nondeterm readlist(list) /*чтение списка*/
nondeterm writelist(list) /*вывод списка*/
nondeterm dbretract(dbasedom) /*удаление данных*/
nondeterm dbret(dbasedom,string,string)/*модуль удаления данных*/
nondeterm dbret1(dbasedom,real)/*вспомогательный модуль удаления данных*/
nondeterm dbread(dbasedom)/*чтение данных*/
nondeterm dbrd(dbasedom,string,string) /*модуль для выборки данных*/
nondeterm dbaaccess(dbasedom,real)/*вспомогательный модуль выборки и поиска данных*/
nondeterm append(list,list,list) /*присоединение списка*/
nondeterm delete_it(aut,list,list) /*удаление элемента списка*/
/*Диалог с этой базой данных осуществляется по принципу меню.
Основываясь на запросе пользователя, СУБД активизирует
соответствующие процессы для удовлетворения этого запроса.*/
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,
write("Please enter your choice,1,2,3,4,5: "),
write("***********************************"),nl,
write(" 6.Return to main menu."),nl,
write("***********************************"),nl,
write("Please enter your choice,1,2,3,4,5,6: "),
/* Добавление информации о книге */
dbassert(kniga(Name,List,Izd,God)),
write(Name,"has been added to a database."),nl,!,
write(Name,"has been deleted from the DATABASE."),
write("Can't find that book in the database."),nl,
dbread(kniga(Name,List,Izd,God)),nl,
write("Can't find that book in the database."),nl,
dbread(kniga(Name,List,Izd,God)),nl,
dbassert(kniga(Name1,List,Izd,God)),
write(Name,"has been modified in database."),nl,!,
write("Can't find that book in the database."),nl,
dbread(kniga(Name,List,Izd,God)),nl,
dbassert(kniga(Name,List,Izd1,God)),
write(Name,"has been modified in database."),nl,!,
write("Can't find that book in the database."),nl,
dbread(kniga(Name,List,Izd,God)),nl,
dbassert(kniga(Name,List,Izd,God1)),
write(Name,"has been modified in database."),nl,!,
write("Can't find that book in the database."),nl,
dbread(kniga(Name,List,Izd,God)),nl,
dbassert(kniga(Name,List2,Izd,God)),
write(Name,"has been modified in database."),nl,!,
write("Can't find that book in the database."),nl,
dbread(kniga(Name,List,Izd,God)),nl,
dbassert(kniga(Name,List1,Izd,God)),
write(Name,"has been modified in database."),nl,!,
write("Can't find that book in the database."),nl,
dbass(Term,"cbook.ind","cbook.dba").
dbret(Term,"cbook.ind","cbook.dba").
dbrd(Term,"cbook.ind","cbook.dba").
/* Правило dbass записывает информацию в файл datafile и модифицирует файл indexfile */
/*запись данных в уже существующий файл*/
/*открывает файл данных на добавление*/
/*открывает индексный файл на добавление*/
/*Запись значения индекса, задаваемого переменной Pos.
Для записи индекса отводится поле, состоящее из 7 позиций.*/
/*создаёт индексный файл для записи*/
/*Запись значения индекса, задаваемого переменной Pos.
Для записи индекса отводится поле, состоящее из 7 позиций.*/
/* Правило dbret удаляет данные из БД */
/*открывает файл данных на чтение*/
/*открывает индексный файл на модификацию*/
/*испльзуется вспомогательный модуль, который осуществляет поиск
/*Этот предикат вызывает запись на диск содержимого внутреннего буфера индексного файла. Таким образом dbret1 предотвращает возможность работы с
данными, которые были удалены до этого.*/
/*осуществляет поиск нужного индекса в индексном файле*/
/* Правило dbrd извлекает информацию из файла datafile */
/*испльзуется вспомогательный модуль dbaaccess, осуществляющий
поиск и выборку данных из файла БД*/
/*Этот предикат читает данные, логически связанные со значением индекса,
/*Это правило пытается найти в базе такую запись, индекс которой присутствует в индексном файле. Если индекс находится, то правило успешно; если нет, то неуспешно.В случае успеха переменная Term получает нужные пользователю значения*/
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).
Была написана программа, реализующая поставленную задачу. При написании программы автор ознакомился с основными понятиями, касающимися баз данных, использованием предикатов и правил для работы с файлами, списками, элементами списков. Работа над составлением программы позволила детально ознакомиться с вопросами организации данных в БД и извлечения из неё необходимой пользователю информации.
Ц. Ин, Д. Соломон «Использование Турбо-Пролога» , Издательство «Мир»

Название: Базы и банки знаний
Раздел: Рефераты по информатике, программированию
Тип: реферат
Добавлен 18:18:23 14 августа 2005 Похожие работы
Просмотров: 119
Комментариев: 16
Оценило: 4 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Если Вам нужна помощь с учебными работами, ну или будет нужна в будущем (курсовая, дипломная, отчет по практике, контрольная, РГР, решение задач, онлайн-помощь на экзамене или "любая другая" учебная работа...) - обращайтесь: https://clck.ru/P8YFs - (просто скопируйте этот адрес и вставьте в браузер) Сделаем все качественно и в самые короткие сроки + бесплатные доработки до самой сдачи/защиты! Предоставим все необходимые гарантии.
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Реферат: Базы и банки знаний
История Развития Баскетбола Реферат
Реферат: За что Петра называют Великим
Отчет По Производственной Практике Лаборанта
Контрольная Работа По Немецкому Языку 7
Электроснабжение Электроаппаратного Завода Курсовой Проект
Реферат: Состояние терроризма в России. Проблемы изучения и предупреждение
Реферат: Экономический анализ потребительского спроса
Реферат: Уолт Дисней. Скачать бесплатно и без регистрации
Курсовая работа по теме Библиотечный менеджер, требования к личности
Статья: Моцарт и Сольери попытка историко-психологического анализа
Сложные Эссе По Обществознанию
Реферат Виды Клинических Исследований Лекарственных Средств
Реферат: Актуальні проблеми у сфері екологічної безпеки
Курсовая работа по теме Лекарственные растения восточной медицины
Дипломная работа по теме Отвод земельных участков на период реконструкции нефтепровода
Изменение трудового договора и его формы
Реферат: Independance Essay Research Paper IndependenceIt is frightening
Сочинение На Тему Любовь В Жизни Обломова
Образец Речи Для Дипломной Работы
Сочинение: Форма выражения авторской позиции в творчестве Михаила Зощенко
Доклад: Свет московской обители
Реферат: Интерпретации существования в математике
Реферат: Температура тела, лекарственные препараты

Report Page