ВУЗ:
Составители:
Рубрика:
51
5. Базовые понятия и термины Пролога
Следуя известному "алгоритму пастора", который начинал
каждую проповедь так: "Сейчас я расскажу вам о том, о чем я бу-
ду говорить, затем я расскажу это, а затем я расскажу о том, о чем
я говорил", изложение материала подошло к точке, где я должен
сказать о том, о чем я рассказывал.
5.1. Объекты
"Пролог – это язык программирования, предназначенный
для обработки символьной нечисловой информации. Особенно
хорошо он приспособлен для решения задач, в которых фигури-
руют объекты и отношения между ними" [1].
Теперь вспомним, из каких "кирпичиков" строятся объекты.
Любой класс объектов определяется набором составляющих его
подъобъектов и структурой. Элементарные классы объектов не
имеют
структуры и описываются одним из встроенных типов дан-
ных, которые называются еще встроенными доменами.
Домен – имя простого или составного терма (не функтор!),
которое, в свою очередь, может замещать этот терм в определении
другого сложного терма.
domains
...............................
dom1=functor1(integer,string)
dom2=functor2(symbol,real,dom1)
...............................
Конкретный экземпляр элементарного класса называется
атомом. Это – числовые, символьные и строчные константы.
Термы
Все
типы данных в Прологе называются термами. Имя тер-
ма называется доменом.
Терм может быть простым. Простой терм – это любой класс
объектов, определяемый прямо (object = integer) или косвенно до-
меном стандартного типа:
object2=object;object2=object*.
52
Терм может быть сложным, т. е. состоять из функтора и
списка термов, разделенных запятыми, который заключен в круг-
лые скобки:
любить(миша,шоколад).
Структура – это другой термин для обозначения сложного
терма. Основной характеристикой структуры является ее размер-
ность (или арность) – число термов в списке.
Любая структура определяет некоторое отношение между
составляющими
ее термами (объектами). В таком случае функтор
– это имя отношения. Например, терм (факт)
мяч(форма(сфера),материал(резина),размер(25),
цвет([синий,красный]))
определяет конкретный объект класса "мяч". Функтор "мяч"
есть имя одноместного отношения "быть объектом".
В рамках программы дается процедурная интерпретация
всех отношений. Программисту рекомендуется составлять осмыс-
ленные имена всех
объектов и функторов, помогающих читателю
разобраться в интерпретации и самому программисту не забывать
о ней.
Стандартные типы данных являются "аксиоматическими" и
не нуждаются в объявлении. Поскольку PDC Prolog является стро-
го типизированным языком, домены необходимы для определения
предикатов ("процедур" с процедурной точки зрения на Пролог).
Простые домены следует рассматривать как характеристики
объектов,
выраженные (в конечном итоге) в терминах встроенных
типов.
Сложные домены определяют иерархию по вхождению ме-
нее сложных объектов в более сложные.
Множество доменов, с помощью которых описываются все
объекты отношения, называется системой типов.
Задавая системы типов, мы подготовливаем поле для зада-
ния аксиом, которые в Прологе выражаются либо фактами внут-
ренней
БД или безусловно верными предикатами (которые также
называются фактами, пример: черный(X):-темный(X).
Таким образом, сами логические процедуры могут служить
в качестве описаний структур данных.
5. Базовые понятия и термины Пролога Терм может быть сложным, т. е. состоять из функтора и списка термов, разделенных запятыми, который заключен в круг- Следуя известному "алгоритму пастора", который начинал лые скобки: каждую проповедь так: "Сейчас я расскажу вам о том, о чем я бу- любить(миша,шоколад). ду говорить, затем я расскажу это, а затем я расскажу о том, о чем Структура – это другой термин для обозначения сложного я говорил", изложение материала подошло к точке, где я должен терма. Основной характеристикой структуры является ее размер- сказать о том, о чем я рассказывал. ность (или арность) – число термов в списке. Любая структура определяет некоторое отношение между 5.1. Объекты составляющими ее термами (объектами). В таком случае функтор – это имя отношения. Например, терм (факт) "Пролог – это язык программирования, предназначенный мяч(форма(сфера),материал(резина),размер(25), для обработки символьной нечисловой информации. Особенно цвет([синий,красный])) хорошо он приспособлен для решения задач, в которых фигури- определяет конкретный объект класса "мяч". Функтор "мяч" руют объекты и отношения между ними" [1]. есть имя одноместного отношения "быть объектом". Теперь вспомним, из каких "кирпичиков" строятся объекты. В рамках программы дается процедурная интерпретация Любой класс объектов определяется набором составляющих его всех отношений. Программисту рекомендуется составлять осмыс- подъобъектов и структурой. Элементарные классы объектов не ленные имена всех объектов и функторов, помогающих читателю имеют структуры и описываются одним из встроенных типов дан- разобраться в интерпретации и самому программисту не забывать ных, которые называются еще встроенными доменами. о ней. Домен – имя простого или составного терма (не функтор!), Стандартные типы данных являются "аксиоматическими" и которое, в свою очередь, может замещать этот терм в определении не нуждаются в объявлении. Поскольку PDC Prolog является стро- другого сложного терма. го типизированным языком, домены необходимы для определения domains предикатов ("процедур" с процедурной точки зрения на Пролог). ............................... Простые домены следует рассматривать как характеристики dom1=functor1(integer,string) объектов, выраженные (в конечном итоге) в терминах встроенных dom2=functor2(symbol,real,dom1) типов. ............................... Сложные домены определяют иерархию по вхождению ме- Конкретный экземпляр элементарного класса называется нее сложных объектов в более сложные. атомом. Это – числовые, символьные и строчные константы. Множество доменов, с помощью которых описываются все объекты отношения, называется системой типов. Термы Задавая системы типов, мы подготовливаем поле для зада- Все типы данных в Прологе называются термами. Имя тер- ния аксиом, которые в Прологе выражаются либо фактами внут- ма называется доменом. ренней БД или безусловно верными предикатами (которые также Терм может быть простым. Простой терм – это любой класс называются фактами, пример: черный(X):-темный(X). объектов, определяемый прямо (object = integer) или косвенно до- Таким образом, сами логические процедуры могут служить меном стандартного типа: в качестве описаний структур данных. object2=object;object2=object*. 51 52
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »