0

我对视觉序言相当陌生,想知道如何集成在此链接上找到的代码。

当我在 Visual Prolog 中创建控制台项目时,main.pro 中的代码是:

/*****************************************************************************

                        Copyright (c) 2013 My Company

******************************************************************************/

implement main
    open core

clauses
    run():-
        console::init(),
        succeed(). % place your own code here
end implement main

goal
    mainExe::run(main::run).

所以,我的问题是在这个链接上在哪里插入河内塔的代码?

为方便起见,代码如下:

/* Program ch16e05.pro */

DOMAINS
    loc =right;middle;left

PREDICATES
    hanoi(integer)
    move(integer,loc,loc,loc)
    inform(loc,loc)

CLAUSES
    hanoi(N):-
        move(N,left,middle,right).

    move(1,A,_,C):-
        inform(A,C),!.

    move(N,A,B,C):-
        N1=N-1, move(N1,A,C,B),
        inform(A,C),move(N1,B,A,C).

    inform(Loc1, Loc2):-nl,
        write("Move a disk from ", Loc1, " to ", Loc2).

提前感谢您的帮助。

4

2 回答 2

0

由于您问题中的链接已损坏,因此我提供了一个新链接。您可以在此处找到原始 turbo Prolog 用户手册的 PDF:

Internet 档案,Turbo Prolog 所有者手册 1987 (1987)
http://archive.org/details/bitsavers_borlandturOwnersHandbook1987_8438592

其中与域、谓词和从句的代码相同。根据以下维基百科条目,您可以将几乎不变的 turbo Prolog 代码移动到可视化 Prolog 系统中。

Visual Prolog,河内示例
http://en.wikipedia.org/wiki/Visual_Prolog#Hanoi_Example

对类接口中的公共谓词使用“谓词”。并在类的实现中为您的私有谓词使用“类谓词”。

再见

于 2014-05-18T13:18:56.770 回答
0

您的代码的第一部分是基于“现代”类的 Visual Prolog,但您的代码的第二部分是旧式的(Turbo Prolog、PDC Prolog、Visual Prolog <5.2)。

于 2016-01-18T12:22:17.997 回答