Способы объявления доменов (типов данных) в Турбо-Прологе.
Раздел 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).
Переменная означает один и тот же объект только в пределах одного правила.