Ошибка visual prolog

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Написала прогу по задаче: Познакомим читателей с тремя людьми: Аладаром, Белой и Балашом. Один из них аптекарь, другой - бухгалтер, третий - агроном. Один живет в Будапеште, другой- в Бекешчабе, третий - в Асоде. Требуется выяснить, кто где живет и у какого какая профессия. Извсетно лишь, что 1 Балаш бывает в Будапеште лишь наездами и то весьма редко, хотя все его родственники постоянно живут в столице; 2 у двух из этих людей название профессий и городов, в которых они живут, начинаются с той же буквы, что и их имена; 3 жена аптекаря доводится Балашу младшей сестрой. Как правильно составить правила для данной задачи и где мои ошибки? При запуске пишете синтаксис ошибка! Вот сам код (visual prolog 7.5):
При запуске выдает ошибки: Type Action Description Filename Path e150 Syntax error main.pro

Решение задачи: «Ошибка visual prolog»

textual
Листинг программы
% Copyright
 
implement main
    open core
 
 domains
    name[COLOR="Red"],[/COLOR]town,job,condition= string
 
 predicates
   [COLOR="red"] n[/COLOR]ondeterm name(string)
    nondeterm town(string)
    nondeterm job(string)
    nondeterm condition(string,string,string)
    nondeterm man(string, string, string,string,string,string,string,string,string)
 
 
clauses
    run() :-
     man(X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3),
        succeed. % place your own code here
 
    name(Balash).
    name(Bela).
    name(Aladar).
    town(Budapest).
    town(Bekescsaba).
    town(Aszod).
    job(aptekar).
    job(agronom).
    job(buhgalter).
 
/* устанавливаем взаимооднозначные соответствия*/
/* между множеством имён, городов и профессий X - name, Y - town, Z - job*/
condition(X,Y,Z) :- name(X), town(Y), job(Z),
X=Balash, not (Y=Budapest), not (Z=aptekar), Y<>Z.
condition(X,Y,Z) :- name(X), town(Y), job(Z),
X=Bela, not(Y=Aszod), not (Z=agronom), Y<>Z.
condition(X,Y,Z) :-  name(X), town(Y), job(Z),
X=Aladar, not (Y=Bekescsaba), not(Z=buhgalter), Y<>Z.
man(X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3):-
X1=Balash, condition (X1,Y1,Z1),
X2=Bela, condition (X2,Y2,Z2),
X3=Aladar, condition (X3,Y3,Z3),
Y1<>Y2, Y2<>Y3, Y1<>Y3,
Z1<>Z2, Z2<>Z3, Z1<>Z3.
end implement main
 
goal
    console::runUtf8(main::run).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5