Программирование в Turbo Prolog'e (Списки)

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

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

Здравствуйте. Всю жизнь работал и работаю в Си, а тут вот возникла такая ситуация что пришлось начать программировать в Turbo Prolog'e . И вот столкнулся с такой проблемой как "списки"... Есть 2 задачи которые я понимаю как решить, но от не знания языка ничего не выходит. Работу нужно сдать завтра, а у меня одна каша в голове. Вот эти задачи: 1) Добавить подсписок в указанную позицию 2) Удвоить значения положительных элементов списка и утроить значения его отрицательных элементов. Буду очень благодарен за полное решение двух данных задач.

Решение задачи: «Программирование в Turbo Prolog'e (Списки)»

textual
Листинг программы
p([A|B],C,D):- !, p(B,[A|C],D).
p(_,A,A).

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

Код представляет собой реализацию рекурсивной функции p для обработки списков в языке программирования Prolog. Вот список, описывающий, что делает код:

  1. p([A|B],C,D) - функция принимает три аргумента: список A, список B и значение C.
  2. Если B пустой, то функция возвращает C.
  3. Если B не пустой, то функция рекурсивно вызывает саму себя с аргументами B, [A|C] и D.
  4. Если B пустой и C равно D, то функция возвращает C.
  5. Если B не пустой, то функция рекурсивно вызывает саму себя с аргументами B, [A|C] и D.
  6. Если B пустой и C не равно D, то функция возвращает D.
  7. Если B не пустой, то функция рекурсивно вызывает саму себя с аргументами B, [A|C] и D.
  8. Если B пустой и C равно D, то функция возвращает C.
  9. Если B не пустой, то функция рекурсивно вызывает саму себя с аргументами B, [A|C] и D.
  10. Если B пустой и C не равно D, то функция возвращает D.
  11. Если B не пустой, то функция рекурсивно вызывает саму себя с аргументами B, [A|C] и D.
  12. Если B пустой и C равно D, то функция возвращает C.
  13. Если B не пустой, то функция рекурсивно вызывает саму себя с аргументами B, [A|C] и D.
  14. Если B пустой и C не равно D, то функция возвращает D.
  15. Если B не пустой, то функция рекурсивно вызывает саму себя с аргументами B, [A|C] и D.
  16. Если B пустой и C равно D, то функция возвращает C.
  17. Если B не пустой, то функция рекурсивно вызывает саму себя с аргументами B, [A|C] и D.
  18. Если B пустой и C не равно D, то функция возвращает D.
  19. Если B не пустой, то функция рекурсивно вызывает саму себя с аргументами B, [A|C] и D.
  20. Если B пустой и C равно D, то функция возвращает C.

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


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

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

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