Пятница, 03.05.2024, 16:56
Приветствую Вас Гость | RSS

Язык программирования ПРОЛОГ

Разделы программы

Раздел domains

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

1.      name =d , где name – имена объектов стандартного типа, d – один из типов (char, symbol, integer, real, string)

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

3.      num1=f1 (d11, …, d1M); f2 )d21, …, d2N) Тип num1 включает сложные объекты, которые объявляются путем установления пунктора и описаний всех входящих в него компонент. collection = book (author, titlerecord (artist, album, type). Один оператор раздела domains описысвает только один уровень дерева. books = book (title, author (name, surname)) – неверно.

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

Раздел 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)

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

Раздел clauses

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

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

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

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

Раздел goal

   Записывается третий тип предложения, состоит из одного или нескольких целевых утверждений, разделенных «,» и оканчивающихся «.». Пролог система, рассматривает вопросы как цели, к которы нужно стремиться . Ответ на вопрос оказывается или положительным или отрицательным в зависимости от того, может быть цель достигнута или нет. Если на вопрос существует несколько ответов, то система может найти и выдать все из них. В разделе goal может быть только один вопрос, на который будет выдано только одно решение. Для получения всех решений можно удалит цель из из программы и задать цель на подсказку ТП в окне. Применение внешних целей бывает полкзно при записи коротких вопросов, а также для получения всег набора допустимых значений.
Меню сайта
Форма входа
Поиск
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright Long Time Ago © 2024
Сделать бесплатный сайт с uCoz