SWI Prolog Списки

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

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

В SWI Prolog надо удалить 3 первых и последних элемента, обязательно через рекурсию. Есть проги, которые удаляют первые 3 и последние 3, но по отдельности. В Прологе не работаю, поэтому в этом дуб, помогите, пожалуйста

Решение задачи: «SWI Prolog Списки»

textual
Листинг программы
?- length(Ls,3), length(Rs,3), Xs = [1,2,3,4,5,6,7], append(Ls, Xs1, Xs), append(Ys,Rs,Xs1).
Ls = [1, 2, 3],
Rs = [5, 6, 7],
Xs = [1, 2, 3, 4, 5, 6, 7],
Xs1 = [4, 5, 6, 7],
Ys = [4] ;
false.

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

  1. Списки Ls и Rs имеют длину 3.
  2. Значения переменных Ls и Rs равны [1, 2, 3].
  3. Значение переменной Xs равно [1, 2, 3, 4, 5, 6, 7].
  4. Значение переменной Xs1 равно [4, 5, 6, 7].
  5. Значение переменной Ys равно [4].
  6. Выполняется операция append(Ls, Xs1, Xs), и результат присваивается переменной Xs.
  7. Выполняется операция append(Ys,Rs,Xs1).
  8. Если результат операции равен false, то выводится сообщение false.
  9. Если результат операции равен true, то выводится сообщение Ls = [1, 2, 3], Rs = [5, 6, 7], Xs = [1, 2, 3, 4, 5, 6, 7], Xs1 = [4, 5, 6, 7], Ys = [4].

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


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

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

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