Prolog中的基本库系统

时间:2011-04-18 16:52:15

标签: prolog visual-prolog

我想在prolog中建立一个基本的图书馆管理系统。该程序应该回答查询,例如由哪个学生发出哪本书以及将返回哪个日期簿。我需要指导我需要学习的具体组件(因为我对prolog非常新),我想快速开发它,因为我没有时间学习整个事情。我将使用visual prolog 7.3

先谢谢 MGD

1 个答案:

答案 0 :(得分:1)

你没有给我们很多想法你的编程背景是什么,所以我在下面插入了几条评论来建议现有的经验可能有助于做一些Visual-Prolog应用程序的问题。

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

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

您的图书馆应用程序听起来像是一个类似于数据库的“知识库”,其中包含有关用户,书籍以及它们之间关系的信息(例如,此用户已将此书签出),可能还有一些历史记录(谁检查了一本书的时间,以及何时返回)。

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

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