ВУЗ:
Составители:
Рубрика:
32
Пример 25: демонстрация разделения списков на голову и хвост.
Список Голова Хвост
[1, 2, 3, 4, 5] 1 [2, 3, 4, 5]
[6.9, 4.3] 6.9 [4.3]
[cat, dog, horse] Cat [dog, horse]
[‘S’, ‘K’, ‘Y’] ‘S’ [‘K’, ‘Y’]
[«PIG»] «PIG» []
[] Не определена Не определен
Visual Prolog допускает объявление и использвание составных списков.
Составной список – это список, в котром используется более чем один тип
элемента. Для создания такого списка, необходимо использовать структуры,
так как домен может содержать более одного типа данных только для
структуры.
Пример 26: объявление списка, который может содержать символы,
целые числа или строки:
domains
llist=i(integer);c(char);s(string)
list=llistl*
2.11 Применение
списков в программах
Для применения списков в программах на Прологе необходимо
описать домен списка в разделе domains, предикаты, работающие со
списками необходимо описать в разделе predicates, задать сам список можно
либо в разделе clauses либо в разделе goal.
Над списками можно реализовать различные операции: поиск элемента
в списке, разделение списка
на два списка, присоединение одного списка к
другому, удаление элементов из списка, сортировку списка, создание списка
из содержимого БД и так далее.
2.11.1 Поиск элемента в списке
Поиск элемента в списке является очень распространенной операцией.
Поиск представляет собой просмотр списка на предмет выявления
соответствия между объектом поиска и элементом списка. Если
такое
соответствие найдено, то поиск заканчивается успехом, в противном случае
поиск заканчивается неуспехом. Стратегия поиска при этом будет состоять в
рекурсивном выделении головы списка и сравнении ее с объектом поиска.
Пример 27: поиск элемента в списке.
domains
list=integer*
predicates
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »