16.1 repeat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
16.2 for. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
17 Перебор и отсечение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
18 read, write, nl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
19 asserta-setof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
19.1 asserta/assertz, retract . . . . . . . . . . . . . . . . . . . . . . . . . 39
19.2 findall, bagof/setoft . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
III Cтруктуры данных 42
20 Представление списков . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
21 Oбработки списков 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
21.1 определение длины . . . . . . . . . . . . . . . . . . . . . . . . . . 45
21.2 взятие n-ого элемента . . . . . . . . . . . . . . . . . . . . . . . . . 45
21.3 принадлежность элемента списку . . . . . . . . . . . . . . . . . . 45
21.4 добавление элемента . . . . . . . . . . . . . . . . . . . . . . . . . . 46
21.5 конкатенация списков . . . . . . . . . . . . . . . . . . . . . . . . . 46
21.6 применение extend . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
22 Oбработки списков 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
22.1 удаление элемента . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
22.2 определение подсписка . . . . . . . . . . . . . . . . . . . . . . . . 48
22.3 перестановки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
23 Порядковое представление списков в Прологе . . . . . . . . . . . . . . . 50
23.1 Операции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
24 Разностные списки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
24.1 Разностный список . . . . . . . . . . . . . . . . . . . . . . . . . . 52
24.2 Хвостовая рекурсия . . . . . . . . . . . . . . . . . . . . . . . . . . 52
24.3 Хвостатизация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
24.4 Примеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
25 Деревья . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
26 Сбалансированные деревья . . . . . . . . . . . . . . . . . . . . . . . . . . 58
27 Представления графов . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
27.1 В глубину . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
27.2 В ширину . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
IV Методы 63
2