Все шпаргалки / Логическое программирование / 

Основы программирования на Турбо-Прологе: тип данных "список", работа со списками.

Список – это упорядоченный набор объектов, следующих друг за другом, произвольной длины. Список задается перечислением элементов списка через запятую в квадратных скобках. Количество элементов в списке называется его длиной. Список, который не содержит ни одного элемента, называется пустым списком. Он обозначается так [ ]. Описание: <имя спискового домена>=<имя домена элементов списка>*. Звездочка после имени домена указывает на то, что описывается список, состоящий из объектов соответствующего типа. Рекурсивное определение списка: Список является рекурсивным составным объектом, состоящим из двух частей. Структура вида [H|T] является списком, если Н – голова списка – первый элемент списка, а Т - хвост списка – все последующие элементы, являющиеся, в свою очередь списком. Так как список является рекурсивной структурой данных, то для работы со списками используется рекурсия. Основной метод обработки списков заключается в следующем: отделить от списка голову, выполнить с ней какие-либо действия и перейти к работе с хвостом списка, являющимся в свою очередь списком. Далее у хвоста списка отделить голову и так далее до тех пор, пока список не останется пустым. В этом случае обработку списка необходимо прекратить. Следовательно, предикаты для работы со списками должны иметь, по крайней мере, два предложения: для пустого списка и для непустого списка.