Раздел clauses

Способы объявления доменов (типов данных) в Турбо-Прологе.

Раздел domains

4 способа объявления типов данных (доменов);

name =d , где name – имена объектов стандартного типа, d – один из типов

list = element*, где list – список элементов element, element – элемент, лписанный в разделе domains или один из стандартных типов, * - список.

num1=f1 (d11,…,d1M);f2)d21,…,d2N)Тип num1 включает сложные объекты, которые объявляются путем установления пунктора и описаний всех входящих в него компонент.

file = name1; name2; Используется для обращения к файлам по символическим именам. Может быть только один оператор этого типа. Символические имена файлов, если их несколько, задаются в качестве альтернативы.

Объявление предикатов в программах Турбо-Пролога.

Раздел predicates

Предикат (отношение) – в общем случае эта структура выглядит так:

predname (comp1, …, compN), где predname – имя предиката, comp1, …, compN – имя компонент.

domains

fio=string

den, god = integer

mes = symbol

predicates

anketa (fio, den, mes, god)

Если в предикатах используется только стандартные типы данных, то раздел domains может отсутствовать.

anketa (string, integer, symbol, integer)

Предикат м состоять только из имени. Допускается многократное объявление предиката с одним и тем же именем. Альтернатива необязательно должна иметь одинаковое число компонентов.

 

 

6. Утверждения программы Турбо-Пролога: факты и правила.

Раздел clauses

Здесь размещаются предложения (утверждения). Они представляют собой факт или правило, соответствующее одному из объявленных предикатов.

Факт – простейший вид утверждения, который устанавливает отношения между объектами.

anketa (“Иванов”, 8, august, 1958).

Факт содержит содержит атом anketa, который является именем предиката и в () после него список соответствующих термов, соответствующих компонентам этого предиката.Факт содержит атом anketa, который является именем предиката и в () после него список соответствующих термов, соответствующих компонентам этого предиката. Факт всегда заканчивается точкой. Факт содержит условие, которое является верным.

Правило состоит из заголовка и тела, соединенных символом :- (если). Правила заканчиваются точкой. Заголовок является одним из ранее описанных предикатов, в которых в качестве компонентов может быть переменные. Заголовок правила описывает факт, для определения которого предназначено это правило. Тело правила описывает цель, которая должна быть последовательно согласована с фактом для того, чтобы заголовок правила был истинным. Тело содержит список термов, разделенных запятыми или ; ( :- if) (. and) (; or).

Переменная означает один и тот же объект только в пределах одного правила.