TURBO PROLOG. Терёхин В.В. - 36 стр.

UptoLike

Составители: 

36
ных не требует, то этот раздел может быть опущен. Возможности динами-
ческой базы данных описываются в гл. 9 данной книги;
- раздел predicates служит для описания используемых программой преди-
катов;
- в разделе goal на языке Турбо-Пролога формулируется назначение созда-
ваемой программы. Составными частями при этом могут являться некие
подцели, из которых
формируется единая цель программы;
- в раздел clauses заносятся факты и правила, известные априорно. О содер-
жимом этого раздела можно говорить как о данных, необходимых для рабо-
ты программы.
Большинство программ, однако, не содержит всех пяти названных
разделов в силу причин, о которых будет сказано несколько позднее.
Турбо-Пролог обеспечивает
возможность включения в программу
комментариев, которые обрамляются символами /* и */. Комментарии мож-
но помещать в любом месте программы, причем на их длину нет практиче-
ски никаких ограничений. Для того, чтобы служить своему назначению,
комментарии должны содержать информацию о самой программе, имени
программного файла, компиляторе, базе данных, а также о назначении каж-
дого
из предикатов и правил, которые не являются в достаточной степени
очевидными.
3.2.1 Описание доменов и предикатов
В гл. 2 приводилось несколько примеров использования предиката
likes, как, например,
likes(mary, apples).
Вспомним, что likes здесь является предикатом (термом предиката), а
mary и apples - объектами предиката. Турбо-Пролог требует указания типов
объектов для каждого предиката программы. Некоторые из этих объектов
могут быть, к примеру, числовыми данными, другие же -
символьными
строками. В разделе predicates, поэтому, Вы должны задать тип объектов ка-
ждого из предикатов.
Для того чтобы предикат likes можно было использовать в программе,
необходимо сделать следующее описание:
predicates
likes(symbol, symbol)
Это описание означает, что оба объекта предиката likes относятся к
типу symbol. Этот тип является одним
из базисных типов Турбо-Пролога; ба-
зисные типы будут описаны в следующем разделе главы.
В некоторых случаях, однако, представляется необходимым иметь
возможность несколько больше конкретизировать тип используемого преди-
катом объекта. Например, в предикате likes объекты имеют смысл "тот, кто
любит" и "вещь, которую любят". Турбо-Пролог позволяет конструировать
свои собственные
типы объектов из базисных типов доменов. Предполо-
жим, для примера, что объектам предиката likes Вы хотите присвоить соот-
  ных не требует, то этот раздел может быть опущен. Возможности динами-
  ческой базы данных описываются в гл. 9 данной книги;
- раздел predicates служит для описания используемых программой преди-
  катов;
- в разделе goal на языке Турбо-Пролога формулируется назначение созда-
  ваемой программы. Составными частями при этом могут являться некие
  подцели, из которых формируется единая цель программы;
- в раздел clauses заносятся факты и правила, известные априорно. О содер-
  жимом этого раздела можно говорить как о данных, необходимых для рабо-
  ты программы.
       Большинство программ, однако, не содержит всех пяти названных
разделов в силу причин, о которых будет сказано несколько позднее.
       Турбо-Пролог обеспечивает возможность включения в программу
комментариев, которые обрамляются символами /* и */. Комментарии мож-
но помещать в любом месте программы, причем на их длину нет практиче-
ски никаких ограничений. Для того, чтобы служить своему назначению,
комментарии должны содержать информацию о самой программе, имени
программного файла, компиляторе, базе данных, а также о назначении каж-
дого из предикатов и правил, которые не являются в достаточной степени
очевидными.
     3.2.1 Описание доменов и предикатов
       В гл. 2 приводилось несколько примеров использования предиката
likes, как, например,
       likes(mary, apples).
       Вспомним, что likes здесь является предикатом (термом предиката), а
mary и apples - объектами предиката. Турбо-Пролог требует указания типов
объектов для каждого предиката программы. Некоторые из этих объектов
могут быть, к примеру, числовыми данными, другие же - символьными
строками. В разделе predicates, поэтому, Вы должны задать тип объектов ка-
ждого из предикатов.
       Для того чтобы предикат likes можно было использовать в программе,
необходимо сделать следующее описание:
             predicates
                   likes(symbol, symbol)
       Это описание означает, что оба объекта предиката likes относятся к
типу symbol. Этот тип является одним из базисных типов Турбо-Пролога; ба-
зисные типы будут описаны в следующем разделе главы.
       В некоторых случаях, однако, представляется необходимым иметь
возможность несколько больше конкретизировать тип используемого преди-
катом объекта. Например, в предикате likes объекты имеют смысл "тот, кто
любит" и "вещь, которую любят". Турбо-Пролог позволяет конструировать
свои собственные типы объектов из базисных типов доменов. Предполо-
жим, для примера, что объектам предиката likes Вы хотите присвоить соот-



                                                                        36