Напишите логическую программу преобразования списка в список - Prolog
Формулировка задачи:
Помогите разобраться, задача звучит так: напишите логическую программу преобразования списка в список, состоящий из тех же элементов, но записанных в обратном порядке.
Вот решение, которое я нашла, не могу понять, что означает эта строчка: "append([],L,L)." и что такое "L"?
Решение задачи: «Напишите логическую программу преобразования списка в список»
textual
Листинг программы
domains list=integer* predicates reverse(list,list) append(list,list,list) clauses append([],X,X). %% пустой список сцепленный с произвольным X дает X append([H|T],X,[H|Y]) :- append(T,X,Y). %% список из головы H и хвоста T, сцепленный с X есть список с головой H и %% хвостом, равным T сцепленному c X reverse([],[]). %% реверс пустого есть пустой reverse([H|T],Z) :- reverse(T,Q), append(Q,[H],Z). %% реверс списка с головой H и хвостом T есть реверс хвоста, %% сцепленный со списком [H]
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д