Проектирование систем искусственного интеллекта

       

СПИСКОВАЯ ФОРМА ЗАПИСИ


Задачи, связанные с обработкой списков, на практике встречаются очень часто. Скажем, нам понадобилось составить список студентов, находящихся в аудитории. С помощью Пролога мы можем определить список как последовательность термов, заключенных в скобки. Приведем примеры правильно построенных списков Пролога:

[джек, джон, фред, джилл, джон]

[имя (джон, смит), возраст (джек, 24), X]

[Х.У.дата (12,январь, 1986) ,Х]

[]

Запись [H|T] определяет список, полученный добавлением Н в начало списка Т. Говорят, что Н — голова, а Т — хвост списка [HIT]. На вопрос

?-L=[a | [b, c, d]]. будет получен ответ L=[a, b, c, d]

а на запрос ?-L= [a, b, c, d], L2=[2 | L]. — ответ L=[a, b, c, d], L2- [2, a, b, c, d]

Запись [Н | Т] используется для того, чтобы определить голову и хвост списка. Так, запрос ?- [X | Y]=[a, b, c]. дает Х=а, Y=[b, c]

Заметим, что употребление имен переменных Н и Т необязательно. Кроме записи вида [H|T], для выборки термов используются переменные. Запрос

?-[a, X, Y]=[a, b, c].

определит значения

X=b Y=c

а запрос

?- [личность(Х) | Т]=[личность(джон), а, b].

значения

Х=джон Т=[а, Ь]



Содержание раздела