Ошибка: "Syntax error in clause body, predicate call expected" - Prolog

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

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

Начал только изучать, выкидывает ошибку "Syntax error in clause body, predicate call expected". В чем проблема?
Листинг программы
  1. DOMAINS
  2. list = integer*
  3. PREDICATES
  4. perevod(integer,integer,list)
  5. add(integer,list,list)
  6. CLAUSES
  7. add(E,[],[E]).
  8. add(E,[H|T],[H|T]):-
  9. add(E,T,T).
  10. perevod(1,_,[1]).
  11. perevod(0,_,[0]).
  12. perevod(X,Y,[H|T]):-
  13. C = X/Y,
  14. D = X mod Y,
  15. perevod(D,Y,List),
  16. add(C,List,[H|T]).
  17. GOAL
  18. write("Vedite chislo: "),readint(X),nl,
  19. write("Vedite osnovanie sistemi scchislenia: "),readint(Y),nl,
  20. perevod(X,Y,[H|T]),nl,
  21. write("Answer is : "), [H|T].

Решение задачи: «Ошибка: "Syntax error in clause body, predicate call expected"»

textual
Листинг программы
  1. perevod(X,Y,L),nl,
  2. write("Answer is : ", L).

Объяснение кода листинга программы

  1. В коде присутствует описание функции perevod/3, которая принимает три аргумента X, Y и L.
  2. Переменная X представляет собой исходную строку, которую необходимо перевести.
  3. Переменная Y представляет собой номер языка, на который необходимо перевести строку.
  4. Переменная L используется для хранения результата перевода.
  5. В первой строке кода вызывается функция perevod/3 с передачей в нее аргументов X, Y и L.
  6. Далее вызывается функция nl, которая выводит символ новой строки.
  7. В последней строке кода вызывается функция write/2, которая выводит на экран строку Answer is : и значение переменной L.

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы