我正在使用古代涡轮增压序言。并且在以下代码中连续遇到错误:-拼写错误或未声明谓词

|
domains
    A,B,C = symbol
    N,P = integer

predicates
    tower(integer,symbol,symbol,symbol,integer)

    go

clauses
    go :- clearwindow,
          write(\"enter value of N (For Transfering from A To B)\"),
          readint(N),
          tower(N,\'a\',\'b\',\'c\',N).

    tower(N,A,B,C,P):-
        N > 1,
        P is N-1
        tower(P,A,C,B,P),
        write([move , A,B]),nl,
        tower(P,C,B,A,P).

        tower(0,_,_,_):- !.
    
已邀请:
ѭ1之后,您缺少逗号。     
此外,您的域声明也没有意义。语法不是用于将变量与域相关联(为您预定义了符号和整数),而是用于根据预定义的域创建专用域。您的程序似乎不需要任何域声明。 由于时间的流逝,Turbo Prolog中的域等教程在网上相当稀缺,因此最好的选择(如果您缺少原始文档)可能是看一本Visual Prolog教程。     

要回复问题请先登录注册