Базовая библиотечная система на прологе - PullRequest
0 голосов
/ 18 апреля 2011

Я хочу сделать базовую систему управления библиотекой в ​​прологе.Программа должна отвечать на запросы, например, какая книга выпущена, какой студент и какой ежедневник будет возвращен.Мне нужно руководство с точки зрения того, какие именно компоненты мне нужно выучить для этого (поскольку я очень плохо знаком с прологом), я хочу развить его быстро, так как у меня нет времени, чтобы изучить все это.Я буду использовать визуальный пролог 7.3

Заранее спасибо MGD

1 Ответ

1 голос
/ 20 апреля 2011

Вы не дали нам достаточного представления о том, каков ваш опыт программирования, поэтому я интерполировал пару комментариев ниже, чтобы предложить, какой существующий опыт может помочь в выполнении частей приложения Visual-Prolog, о которых спрашивается.

С Visual-Prolog вы должны начать с проектирования пользовательского интерфейса, что я откровенно счел обескураживающим из-за того, что поигрался с кодировкой Prolog.Подумайте об элементах «окна», которые вы хотите: возможно, поле ввода для ввода имени пользователя и другое поле ввода для ввода названия книги, с некоторыми кнопками для «поиска», как подсказывает спецификация «программа должна отвечать на запросы».Вывод будет содержать информацию о том, выписана ли книга, когда она должна быть выпущена и т. Д.

Тогда может начаться функциональная часть вашего дизайна.Visual-Prolog просит вас объявить определенные вещи: домены (эквивалентные типам данных в других языках) и предикаты (отношения имен и домены, к которым применяются их различные аргументы, примерно эквивалентные подпрограммам в других языках).

Ваше библиотечное приложение звучит так, как будто оно похоже на базу данных, «базу знаний», содержащую информацию о пользователях, книгах и отношениях между ними (например, у этого пользователя есть эта книга), возможно, с некоторой историей (кто выписался)книга, когда и когда она была возвращена).

Поскольку вы хотите «быстро ее развить», вам, вероятно, стоит начать с очень простого набора доменов и предикатов.Возможно, «пользователь» и «книга» - это базовые домены, с которых нужно начинать, и checkOut / 2 базовый предикат (указывающий на то, что конкретный пользователь в данный момент имеет конкретную книгу).Тогда вам, вероятно, нужно будет добавить (как минимум) функцию сохранения даты возвращения книги.Такой дизайн будет проще, если вы раньше занимались разработкой реляционных баз данных.

Подключение пользовательского интерфейса (UI) к «базе знаний» пользователей и книг библиотеки - это вопрос написания предикатов.которые служат обработчиками событий для визуальных элементов пользовательского интерфейса.Это несколько проще, если вы знакомы с Visual Basic.В любом случае вы можете «заглушить» обработчики событий, пока вы создаете «пользовательский интерфейс», который заменяет их существенными реализациями, когда ваш проект переходит к разработке «базы знаний».

...