Турбо Пролог - Списки - Prolog

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

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

Я очень извиняюсь за создание одинаковой темы но Я НЕ МОГУ ПОНЯТЬ. Ранее уже была создана тема "Удаление начала списка до заданного элемента (включительно)" но я не смог понять, не знаю может я туп, может еще что, давно захожу на этот сайт и когда люди присылают исправленные куски кода то мне не очень понятно что с ними делать и куда их вставлять. Пролог только только начал изучать и многое непонятно, а времени совсем не осталось. Помогите пожалуйста с этой темой еще одному заблудшему человеку. Надеюсь на ваше понимание. P.S. Извиняюсь за ранее созданную тему в неположенном месте.
Вот нерабочий код который прислал другой человек:
А вот исправленный:
Не могу понять что с этим куском делать и относится ли это к Турбо Прологу

Решение задачи: «Турбо Пролог - Списки»

textual
Листинг программы
domains
list = integer*
 
predicates
p(integer, list, list)
 
clauses
p(El, [El|T], T):- !.
p(El, [_|T], X):- p(El, T, X).
 
goal
p(5, [1, 2, 3, 4, 5, 6, 7, 8, 9], X), write(X), nl.

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

  1. В этом коде используется язык программирования Prolog.
  2. Задача заключается в том, чтобы реализовать рекурсивную функцию для обработки списков.
  3. Функция p принимает три аргумента: El (элемент списка), L (список, содержащий элемент El) и T (остаток списка после удаления элемента El).
  4. Если El равен последнему элементу списка L, то функция возвращает список T.
  5. Если El не является последним элементом списка L, то функция вызывает саму себя, передавая в качестве аргументов El, L и T.
  6. В главной части программы вызывается функция p с аргументами 5, [1, 2, 3, 4, 5, 6, 7, 8, 9] и X.
  7. Здесь X является результатом работы функции p.
  8. Результат выводится на экран с помощью функции write.
  9. В конце программы вызывается функция nl, чтобы перейти на новую строку.

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


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

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

9   голосов , оценка 3.778 из 5
Похожие ответы