Ошибка: "Syntax error in clause body, predicate call expected" - Prolog
Формулировка задачи:
Начал только изучать, выкидывает ошибку "Syntax error in clause body, predicate call expected". В чем проблема?
Листинг программы
- DOMAINS
- list = integer*
- PREDICATES
- perevod(integer,integer,list)
- add(integer,list,list)
- CLAUSES
- add(E,[],[E]).
- add(E,[H|T],[H|T]):-
- add(E,T,T).
- perevod(1,_,[1]).
- perevod(0,_,[0]).
- perevod(X,Y,[H|T]):-
- C = X/Y,
- D = X mod Y,
- perevod(D,Y,List),
- add(C,List,[H|T]).
- GOAL
- write("Vedite chislo: "),readint(X),nl,
- write("Vedite osnovanie sistemi scchislenia: "),readint(Y),nl,
- perevod(X,Y,[H|T]),nl,
- write("Answer is : "), [H|T].
Решение задачи: «Ошибка: "Syntax error in clause body, predicate call expected"»
textual
Листинг программы
- perevod(X,Y,L),nl,
- write("Answer is : ", L).
Объяснение кода листинга программы
- В коде присутствует описание функции
perevod/3
, которая принимает три аргументаX
,Y
иL
. - Переменная
X
представляет собой исходную строку, которую необходимо перевести. - Переменная
Y
представляет собой номер языка, на который необходимо перевести строку. - Переменная
L
используется для хранения результата перевода. - В первой строке кода вызывается функция
perevod/3
с передачей в нее аргументовX
,Y
иL
. - Далее вызывается функция
nl
, которая выводит символ новой строки. - В последней строке кода вызывается функция
write/2
, которая выводит на экран строкуAnswer is :
и значение переменнойL
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д