КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Domains. Из доменов можно конструировать составные или структурные домены (структуры)i=integer Из доменов можно конструировать составные или структурные домены (структуры). Структура описывается следующим образом: <имя структуры> = <имя функтора>(<имя домена первой компоненты>,..., <имя домена последней компоненты>) [;<имя функтора>(...)]* Каждая компонента структуры в свою очередь может быть структурой.
Пример. Предложить структуру, описывающую треугольник, содержащую в качестве компоненты структуру, описывающую точку на плоскости, имеющую две компоненты (координаты точки). point = p(integer , integer) triangle = tr(point , point , point) В описание структуры могут входить альтернативы, разделенные символом ";" или ключевым словом "or". Так, структуру, описывающую точку и на плоскости, и в пространстве, можно задать следующим образом: point = p(integer , integer); p(integer , integer , integer). Описание файлового домена имеет вид:
file = <символическое имя файла 1>;...;<символическое имя файла N> Для представления данных в Турбо-Прологе, в отличие от стандартных алгоритмических языков программирования, используются не массивы, а списки. Списковый домен задается следующим образом: <имя спискового домена> = <имя домена элементов списка>* Пример. Список целых чисел list_of_integer = integer*
Раздел описания предикатов внутренней базы данных Раздел описания предикатов внутренней базы данных начинается с зарезервированного слова database, и в нем описываются те предикаты, которые можно в процессе выполнения программы добавлять во внутреннюю базу данных или удалять оттуда. Описываются предикаты базы данных аналогично предикатам в разделе predicates.
Раздел описания предикатов В разделе, озаглавленном зарезервированным словом predicates, содержатся описания определяемых пользователем предикатов. В традиционных языках программирования подобными разделами являются разделы описания заголовков процедур и функций. Описание n-местного предиката имеет следующий вид: <имя предиката>(<имя домена первого аргумента>,..., <имя домена n-го аргумента>). Домены(области определения) аргументов должны быть либо стандартными, либо объявленными в разделе описания доменов. Следует обращать внимание на то, что имя предиката в Турбо-Прологе должно быть идентификатором, т.е. оно должно состоять только из латинских букв, цифр и символа подчеркивания, причем имя предиката не может начинаться с цифры. Пример. Предикат, описывающий отношение "мама" .
|