Составители:
Рубрика:
100
В этих выражениях num, realnum и time все представляют предикаты
списков. Предикатам списков обычно присваиваются имена, которые харак-
теризуют либо тип элемента (num), либо сами данные (time).
Введение списков в программу с необходимостью отражается на трех
ее разделах. Домен списка должен быть описан в разделе domains, а рабо-
тающий со списком предикат
- в разделе predicates. Наконец, нужно ввести
сам список; то есть, другими словами, его нужно задать где-то в программе:
либо в разделе clauses, либо в разделе goal. Покажем, как можно создавать
в программе списки и как их использовать.
Каждый элемент приведенного ниже списка обозначает одну из птиц.
birds(["sparrow", "robin", "mockingbird", "thunderbird", "bald eagle"]).
Если
этот список необходимо использовать в программе, то следует
описать домен элементов списка; ему логично присвоить имя подобное
name_birds (названия птиц). Как уже известно, список может содержать мно-
го элементов, может содержать один элемент, а может не содержать ни од-
ного.
Отличительной особенностью описания списка является наличие звез-
дочки (*) после имени
домена элементов. Так запись
bird_name *
указывает на то, что это домен списка, элементами которого являются
bird_name, т. е. запись bird_name* следует понимать как список, состоящий
из элементов домена bird_name. Описание в разделе domains, следовательно,
может выглядеть либо как
bird_list = bird_name *
bird_name = symbol ,
либо как
bird_list = symbol *
Домен bird_list является доменом списка элементов типа
symbol (спи-
ска птиц).
В разделе описания предикатов predicates требуется присутствия имени
предиката, а за ним заключенного в круглые скобки имени домена.
birds(bird_list)
Как видим, описание предиката списка ни в чем не отличается от опи-
сания обычного предиката.
Сам список присутствует в разделе утверждений clauses:
birds(["sparrow","robin","mockingbird","thunderbird", "bald eagle"]).
Чуть позднее будет
описано, как использовать списки в разделе про-
граммы goal.
Законченный пример использования списков приведен в программе
"Списки" (листинг 5.1), в которую дополнительно включены список из 7
целых чисел (домен number_list) и предикат score.
____________________________________________________________
Листинг 5.1
/* Программа: Списки */
/* Назначение: Работа со списками. */
В этих выражениях num, realnum и time все представляют предикаты
списков. Предикатам списков обычно присваиваются имена, которые харак-
теризуют либо тип элемента (num), либо сами данные (time).
Введение списков в программу с необходимостью отражается на трех
ее разделах. Домен списка должен быть описан в разделе domains, а рабо-
тающий со списком предикат - в разделе predicates. Наконец, нужно ввести
сам список; то есть, другими словами, его нужно задать где-то в программе:
либо в разделе clauses, либо в разделе goal. Покажем, как можно создавать
в программе списки и как их использовать.
Каждый элемент приведенного ниже списка обозначает одну из птиц.
birds(["sparrow", "robin", "mockingbird", "thunderbird", "bald eagle"]).
Если этот список необходимо использовать в программе, то следует
описать домен элементов списка; ему логично присвоить имя подобное
name_birds (названия птиц). Как уже известно, список может содержать мно-
го элементов, может содержать один элемент, а может не содержать ни од-
ного.
Отличительной особенностью описания списка является наличие звез-
дочки (*) после имени домена элементов. Так запись
bird_name *
указывает на то, что это домен списка, элементами которого являются
bird_name, т. е. запись bird_name* следует понимать как список, состоящий
из элементов домена bird_name. Описание в разделе domains, следовательно,
может выглядеть либо как
bird_list = bird_name *
bird_name = symbol ,
либо как
bird_list = symbol *
Домен bird_list является доменом списка элементов типа symbol (спи-
ска птиц).
В разделе описания предикатов predicates требуется присутствия имени
предиката, а за ним заключенного в круглые скобки имени домена.
birds(bird_list)
Как видим, описание предиката списка ни в чем не отличается от опи-
сания обычного предиката.
Сам список присутствует в разделе утверждений clauses:
birds(["sparrow","robin","mockingbird","thunderbird", "bald eagle"]).
Чуть позднее будет описано, как использовать списки в разделе про-
граммы goal.
Законченный пример использования списков приведен в программе
"Списки" (листинг 5.1), в которую дополнительно включены список из 7
целых чисел (домен number_list) и предикат score.
____________________________________________________________
Листинг 5.1
/* Программа: Списки */
/* Назначение: Работа со списками. */
100
Страницы
- « первая
- ‹ предыдущая
- …
- 98
- 99
- 100
- 101
- 102
- …
- следующая ›
- последняя »
