Comments 2
Оформлять код на Прологе сложно на Хабре, но можно. Оберните код в тег !source lang=«Prolog»!, постарайтесь не делать отступы между строчками одноименных предикатов и вообще неплохо объединять тело предиката в одной строчке, так программа проще (хотя и дольше) читается.
%% Определим пустой список как объект nil
list(nil).
%% Определим список из одного элемента 1
list(t(1, nil)).
%% Определим список из элементов 1, 2, 3
list(t(1, t(2, t(3, nil) ) ) ).
%% Опишем к примеру процедуру поиска в списке
%% 1. результат находится в голове списка (1-й элемент)
%% _ - означает незначимую для нас переменную
member(X, t(Y, _)) :- X = Y.
%% 2. результат не первый элемент, но содержится в хвосте списка после первого элемента
member(X, t(_, Tail)) :- member(X, Tail).
Sign up to leave a comment.
Prolog. Программируем автоматы