Составители:
Рубрика:
57
Терм fruits в этом утверждении называется функтором. Функтор яв-
ляется первым термом составного объекта. Функтор составного объекта есть
на самом деле предикат, хотя он и вставлен внутрь другого предиката.
Главным функтором здесь является предикат likes.
Для облегчения написания утверждений и предикатов в данной фор-
ме Турбо-Пролог позволяет объявлять составные
объекты в разделе domains.
Для настоящего примера описаниями будут служить
domains
personal_liking = fruits(type1,type2,type3)
type1,type2,type3 = symbol
Имя домена personal_liking является именем составного объекта, об-
разованного при помощи функтора fruits. Имя fruits представляет одно-
временно составной объект и функтор. Если объекты структуры принадлежат
к одному и тому же типу доменов, то этот объект называется однодомен
-
ной структурой. Структура с объектами apples, peaches и oranges (все
типа symbol), является однодоменной структурой. Если структура содержит
объекты разных типов, она называется многодоменной структурой. Приме-
ром тому совокупность объектов apples, r и 16. Здесь apples имеет тип
symbol, r - тип char, 16 - тип integer. Таким образом составной объект яв-
ляется определенной структурой доменов. Каждая структура
предполагает
особое представление фактов в базе данных. Структура обеспечивает средст-
во сортировки объектов по категориям. Ссылки на доменную структуру осу-
ществляются по имени функтора.
* Функторы и доменные структуры
Программа "Библиотека" (листинг 3.7) демонстрирует использование
доменной структуры с именем personal_library. Эта структура содержит
сведения о книгах из личных собраний.
____________________________________________________________
Листинг
3.7
/* Программа: Библиотека */
/* Назначение: Демонстрация одноуровневого составного */
/* объекта. */
domains
personal_library = book (title, author, publisher, year) /* персональная
библиотека = книга(название,автор,
издательство,год издания) */
collector, title, author, publisher = symbol
year = integer
predicates
collection(collector, personal_library)
/* коллекция (имя коллекционера, библиотека) */
clauses
Терм fruits в этом утверждении называется функтором. Функтор яв-
ляется первым термом составного объекта. Функтор составного объекта есть
на самом деле предикат, хотя он и вставлен внутрь другого предиката.
Главным функтором здесь является предикат likes.
Для облегчения написания утверждений и предикатов в данной фор-
ме Турбо-Пролог позволяет объявлять составные объекты в разделе domains.
Для настоящего примера описаниями будут служить
domains
personal_liking = fruits(type1,type2,type3)
type1,type2,type3 = symbol
Имя домена personal_liking является именем составного объекта, об-
разованного при помощи функтора fruits. Имя fruits представляет одно-
временно составной объект и функтор. Если объекты структуры принадлежат
к одному и тому же типу доменов, то этот объект называется однодомен-
ной структурой. Структура с объектами apples, peaches и oranges (все
типа symbol), является однодоменной структурой. Если структура содержит
объекты разных типов, она называется многодоменной структурой. Приме-
ром тому совокупность объектов apples, r и 16. Здесь apples имеет тип
symbol, r - тип char, 16 - тип integer. Таким образом составной объект яв-
ляется определенной структурой доменов. Каждая структура предполагает
особое представление фактов в базе данных. Структура обеспечивает средст-
во сортировки объектов по категориям. Ссылки на доменную структуру осу-
ществляются по имени функтора.
* Функторы и доменные структуры
Программа "Библиотека" (листинг 3.7) демонстрирует использование
доменной структуры с именем personal_library. Эта структура содержит
сведения о книгах из личных собраний.
____________________________________________________________
Листинг 3.7
/* Программа: Библиотека */
/* Назначение: Демонстрация одноуровневого составного */
/* объекта. */
domains
personal_library = book (title, author, publisher, year) /* персональная
библиотека = книга(название,автор,
издательство,год издания) */
collector, title, author, publisher = symbol
year = integer
predicates
collection(collector, personal_library)
/* коллекция (имя коллекционера, библиотека) */
clauses
57
Страницы
- « первая
- ‹ предыдущая
- …
- 55
- 56
- 57
- 58
- 59
- …
- следующая ›
- последняя »
