您好,欢迎来到华拓网。
搜索
您的当前位置:首页实验1 Visual Prolog入门(1)

实验1 Visual Prolog入门(1)

来源:华拓网


Visual Prolog语言简介

Prolog语言是人工智能与专家系统领域最著名的逻辑程序设计语言。Visual Prolog意指可视化逻辑程序设计语言,是基于Prolog语言的可视化集成开发环境,是Prolog开发中心(PDC)最新推出的基于Windows环境的智能化编程工具,其语言特性符合相应的国际标准ISO/IEC 13211-1:1995。目前,Visual Prolog在美国、西欧、日本、加拿大、澳大利亚等发达国家和地区十分流行,是国际上研究和开发智能化应用的主流工具之一。预计短时期内,在国际上已经十分流行的最新版本的可视化逻辑程序设计语言Visual Prolog将会在我国广泛流行开来,并将迅速成为我国研究和开发智能化应用的最重要的工具。

Visual Prolog具有模式匹配、递归、回溯、对象机制、事实数据库和谓词库等强大功能。它包含构建大型应用程序所需要的一切特性:图形开发环境、编译器、连接器和调试器,支持模块化和面向对象程序设计,支持系统级编程、文件操作、字符串处理、位级运算、算术与逻辑运算,以及与其它编程语言的接口。

Visual Prolog包含一个大型库,捆绑了范围广阔的API函数:包括Windows GUI函数族、ODBC/OCI数据库函数族和Internet函数族(socket、ftp、http、cgi等)。这个开发环境全部使用Visual Prolog语言写成,而且包含对话框、菜单、工具栏等若干编码专家和图形编辑器。Visual Prolog支持Windows 3.x/95/98/Me/NT/2000/XP、OS/2和文本方式下的DOS、Linux和SCO UNIX。

Visual Prolog非常适合于专家系统、规划和其它AI相关问题的求解,是智能程序设

计语言中具有代表性且应用较多的一种语言。由于这种语言很适合表达人的思维和推理规则,在自然语言理解、机器定理证明、专家系统等方面得到了广泛的应用。Visual Prolog不仅是优秀的智能化应用开发工具,而且已经成为适用于任何应用领域的强有力的通用开发工具。Visual Prolog与SQL数据库系统、Visual C++或其它C++开发系统、及Visual Basic、Delphi或Visual Age等编程语言一样,可以用来轻松地开发各种应用,包括数据库和Web应用。

智能化是当前计算机、自动化、通信、管理等信息科学技术领域中的新方法、新技术、新产品的重要发展方向与开发策略之一。信息处理的智能化与信息社会对智能的巨大需求是人工智能发展的强大动力。人工智能与专家系统曾取得过许多令人注目的成果,也走过不少弯路,经历过不少挫折。近几年来,随着计算机与网络通信技术的迅猛发展,特别是因特网的大规模普及,人工智能与专家系统的研究再度活跃起来,并正向更为广泛的领域发展。围绕人工智能与专家系统的研究和应用开发也迎来一个蓬勃发展的新时期。因此,引进与消化国际上已经广泛流行的功能强大和通用的智能程序设计语言、工具与环境,对于我国开发智能应用系统十分必要。

补充教程(写在正式教程的前面)

如果你是一位prolog的新手,希望你首先阅读这篇文章,好对prolog的全局有个了解。在这篇文章中我会把prolog和其他的程序语言做比较,所以希望你已经具有了一定的编程水平。

什么是prolog?

prolog是Programming in LOGic的缩写,意思就是使用逻辑的语言编写程序。

prolog不是很高深的语言,相反,比较起其他的一些程序语言,例如c、basic等等语言, prolog是更加容易理解的语言。如果你从来没有接触过计算机编程,那么恭喜你,你将很容易的进入prolog世界。如果你已经是其他语言的高手,你就需要完全丢弃你原来的编程思路,否则是很难掌握prolog的。

Visual Prolong 软件使用说明

(1)

Visual Prolong已经增加了如下的新功能:

 一个独特的对象系统

 多线程机制

 Unicode支持

 改进的DLL支持

 改进的函数支持

 改进的异常处理

 其它更多的功能等

Visual Prolong是一个完备的程序设计环境,它提供了如下的设施:

 图开开发环境

 编译器

 链接器

 调试器

创建项目:

从这部分开始,将会给出一个可视化的开发环境(VDE)的综述。这个VDE是用来创建、开发和维护Visual Prolong项目的,也就是说,在一个项目文件中,将使用这个VDE来完成如下任务。

创建(creation)项目:

建立(building)项目:

浏览(browing)项目:

开发(development)项目:

调试(debugging)项目:

创建项目:

Project-new

选择项目名为tut01,项目名也作为将要产生的目标文件名,在此例子中,目标文件是一个exe文件,故目标文件名将是tut01.exe,选择UI策略为GUI,即该程序是一个GUI程序,带有图形用户界面。

基本目录是一切项目的基地。

单击“创建”按扭,创建该项目,VDE将显示出如下图

左面的窗口是项目窗口,它包含项目中有关实体的各种信息。这个窗口现在尚不包含大量的信息,但当编译项目时,各种信息就会添加进来。后面将会较详细地分析在编译该项目时这个窗口所包含的各种信息。

右面或底部是消息窗口,它将包含各种状态信息和进展信息。

2.建立项目

在做任何修改之前,首先要建立该项目,即编译和链接该项目。在建立(building)菜单中,可以找到建立、编译和执行项目的菜单命令。

编译过后

3.浏览项目

图中最顶部结点代表项目,其它结点是项目目录

紧下面是逻辑结点,它表示Visual Prolong的安装目录,这个目录包含来自目录Visual Prolong系统的库和库代码。

接下来的目录是任务窗口,它是将项目目录的一个子目录,这个目录包含产生任务窗口、菜单、工具栏及关于对话框等所需要的全部代码。

最后可以看到若干个文件,Visual Prolong使用以下约定:

 *.ph文件是程序包的头文件.一个程序包是类和接口的一个集合,程序包常被当作一个积木块使用

 *.pack文件是程序包,它们包含相应的*.ph文件的实现或定义.

 *.i文件包含一种接口.(interface)

 *.cl文件包含一个类声明

 *.pro文件包含一个类的实现

如果完全展开tut01.cl结点,可以看到如下图:

新出现的几个类型的结点的含义如下:

 *.dlg文件包含一个对话框

 *.win文件包含一个窗口

 *.mnu文件包含一个菜单

 *.cur文件包含一个光标

 *.ico文件包含一个图标

继续考查后还可以发现

 *.tb文件包含工具栏

 *.bmp文件包含位图

 *.lib文件包含库

如果右击一个结点,一个关联菜单将出现,菜单中包含对这个特定结点进行适当的操作的有关命令

如果双击一个结点,则相应的实体将调出对应的编辑器,所有的源代码文件都将在文本编辑器中进行编辑.

如果有些实体出现两次,这是因为它们既有一个声明,又有一个定义或实现.

4.开发项目

实验一 Visual Prolog集成环境

一、实验目的

熟悉和掌握Visual Prolog 6.1的安装和Visual Prolog集成环境的使用,能够简单创建项目、建立项目、浏览项目、开发项目、调试项目。

二、实验原理

Prolog在英语中的意思就是Programming in Logic(逻辑编程)。Visual Prolog具有模式匹配、递归、回溯、对象机制、事实数据库和谓词库等强大功能。也具有一般语言的处理功能。它非常适合于专家系统、规划和其它AI相关问题的求解,适合表达人的思维和推理规则,在自然语言理解、机器定理证明、专家系统等方面得到了广泛的应用。

三、实验条件

1 Visual Prolog 6.1。

三、实验内容

1、安装Visual Prolog 6.1

2、创建简单的GUI和CONSOLE项目。

3、了解VDE创建项目、建立项目、浏览项目、开发项目、调试项目一般过程。

4、了解一个项目由那些文件组成及其各自的作用。

四、实验步骤

1、服务器上获取Visual Prolog 6.1 (freeware)压缩文件,解压缩后直接安装程序。

2、从开始菜单和快捷方式中Visual Prolog 6.1环境,出现一个空白的VDE环境,如果创建过项目,则直接打开了该项目,如上图。

3、打开帮助文件,熟悉各个菜单项目的主要功能。

4、创建一个GUI的项目,并在ABOUT窗体中添加一个“按钮”,并添加事件,修改“按钮”的标题。

5、通过帮助系统了解本GUI项目中各个文件的作用。

6、通过设置断点,能够在GUI项目中调试程序。

7、创建一个CONSOLE的项目,并能够使用console类实现简单的输出,从而了解Visual Prolog 6.1程序的执行过程。

五、实验报告要求

1、试验目的。

2、试验内容。

3、试验过程。

4、试验总结。

Visual Prolog是基于逻辑程序设计语言Prolog的一种强类型的面向对象的程序设计语言。一个Visual Prolog程序包括一个目标、大量的接口声明和类的实现程序。

接口、类声明和类实现包括Prolog实体的定义和声明,即

 论域

 常量

 谓词

 事实数据库

Visual Prolog 程序的实际代码中的谓词声明和子句定义声明。

一.实验目的

1. 熟悉专家系统开发工具-----Visual Prolog,学习该工具的基本语法规则,使用技巧,程序构成

2. 学习示例程序,尝试编写小型完整Visual Prolog应用程序

二.实验内容

1. 熟悉Visual Prolog软件开发平台,包括进入Prolog主程序,编辑源程序,修改环境目录,退出等基本操作

2. 学习Visual Prolog的简单程序结构,掌握分析问题,询问解释技巧

3. 了解Prolog语言中常量,变量的表示方法

4. 利用Prolog进行事实库,规则库的编写,并在此基础上进行简单的询问

三.实验环境

计算机, Visual Prolog软件开发平台

四.实验原理及步骤:

实验原理:

这个程序是要用递归实现重复,求一个数的阶乘,如果N是1,则阶乘为1;否则,求N-1的阶乘,然后将它乘N.当计算机执行时,每次对factorial的调用是完全的过程,计算机会创建一个新的factorial拷贝,以便factorial可以调用它自己.

实验步骤:

1. 在启动操作系统(如Windows2000)之后,按照第二章介绍的知识(2.1.2和2.1.3小节)启动Visual Prolog的集成开发环境

2. 退出Visual Prolog的集成开发

3. 完成简单程序的编写:求N!的值

五. 程序源代码

PREDICATES

factorial(unsigned,real)

CLAUSES

factorial(1,1):-!.

factorial(X,FactX):-Y=X-1,

factorial(Y,FactY),

FactX=X*FactY.

GOAL

X=5,factorial(X,FactX).

六. 实验结果,结果分析

结果最后显示为120,结果如预期的,5!=5*4*3*2*1=120

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo3.cn 版权所有 湘ICP备2023017654号-3

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务