Я пытаюсь сделать программу в Прологе, чтобы проверить порядок списка номеров и вернуть ДА или НЕТ.Программа в прологе, чтобы проверить порядок списка номеров
Пример: [1, 2, 3, 4] Да
[1, 3, 4, 2] Нет
Я получаю этот код в Интернете, чтобы увидеть, если работы:
domains
x = integer
l = integer*
predicates
ordered(l)
clauses
ordered([X]).
ordered([Head|[Head1|Tail]]) :-
Head =< Head1,
ordered([Head1|Tail]).
Output :
Goal: ordered([1,2,3,4])
Yes
Goal: ordered([3,2,4,5])
No
но некоторые ошибки в появляться программы SWI-Пролог: [второй строке перед X: "Синтаксическая ошибка: Оператор ожидаемому"] [11 заказанных строк: «заказано/1: (не загружено) не указано»]
Я действительно не знаю, что делать.
Это помечено как «SWI Prolog», но ваш пример кода - Turbo или Visual Prolog. Заголовки разделов ('domains' и т. Д.) Не работают в SWI Prolog. – lurker