0

我想在 prolog 中制作一个基本的图书馆管理系统。该程序应回答诸如哪本书由哪个学生发行以及将返回哪本书之类的查询。我想要指导我需要学习哪些确切的组件(因为我对 prolog 非常陌生),我想快速开发它,因为我没有时间学习整个事情。我将使用视觉序言 7.3

提前致谢 MGD

4

1 回答 1

1

您没有向我们提供太多关于您的编程背景的概念,因此我在下面插入了一些评论,以建议现有经验可能有助于完成所询问的 Visual-Prolog 应用程序的某些部分。

使用 Visual-Prolog,您必须从用户界面设计开始,坦率地说,我发现在使用 Prolog 编码时会感到沮丧。想想你想要的“窗口”元素:可能是一个输入用户名的输入字段和另一个输入书名的输入字段,还有一些用于“搜索”的按钮,正如你的“程序应该回答查询”规范所建议的那样。输出将包含有关图书是否已签出、到期时间等信息。

然后您的设计的功能部分就可以开始了。Visual-Prolog 要求您声明某些东西:域(相当于其他语言中的数据类型)和谓词(名称关系和它们的各种参数适用的域,大致相当于其他语言中的例程)。

您的图书馆应用程序听起来类似于数据库,一个“知识库”,包含有关用户、书籍以及它们之间的关系的信息(例如,该用户已签出这本书),可能带有一些历史记录(谁签出了预订何时以及​​何时归还)。

由于您想“快速开发”,您可能希望从一组非常简单的域和谓词开始。也许“user”和“book”是开始的基本域,而checkOut/2是基本谓词(表示特定用户当前拥有特定书籍的事实)。然后您可能需要(至少)添加存储图书归还日期的功能。如果您以前做过一些关系数据库开发,这种设计会更容易。

将用户界面 (UI) 连接到图书馆用户和书籍的“知识库”是编写用作 UI 视觉元素的事件处理程序的谓词的问题。如果您熟悉 Visual Basic,这会稍微容易一些。在任何情况下,您都可以在构建 UI 的“外观和感觉”部分时“删除”事件处理程序,在您的设计进入开发“知识库”时用实质性实现替换它们。

于 2011-04-20T13:22:57.470 回答