В программах, написанных на языке Турбо Пролог, допустимы 6 типов данных: file, real, integer, char, string и symbol. Последний по сути то же, что string, но хранится в таблице символов в ОП и обеспечивает повышение скорости обработки. Имена переменных начинаются с прописной (большой) буквы или подчеркивания, прочие имена (констант, доменов, предикатов) - со строчной буквы. Символы кириллицы в именах недопустимы.
Программа состоит из одного или нескольких модулей. Модуль может содержать несколько разделов, большая часть которых необязательна:
constants /* Нуль или более определений констант */
domains /* Нуль или более определений доменов, описывающих принадлежность используемых объектов к определенному типу стандартного домена (integer, real,..) или других доменов*/
database /* Нуль или более описаний предикатов динамической базы данных, содержащей только факты (предикаты без переменных). Содержимое базы может изменяться во время работы встроенными предикатами */
predicats /* Нуль или более описаний предикатов, используемых в разделе clauses. Описание содержит имя предиката и домены аргументов. Описания встроенных (стандартных) предикатов не требуется. */
goal /*Нуль или одна цель. При отсутствии цели программа работает только в режиме диалога без выхода из турбо-среды*/
clauses /* Нуль или более предложений (фактов и правил). Предложения с одинаковыми предикатами в заголовках записываются подряд! */
Обычно в программе присутствуют по меньшей мере разделы predicats и clauses.
Программа содержит перечень 2-х технических и 3-х гуманитарных дисциплин и правило составления возможных вариантов пар дисциплин, например, для углубленного изучения. Предназначена для освоения работы со средой
predicates
tec(symbol)
gum(symbol)
var(symbol,symbol)
clauses
tec("микропроцессоpы").
tec("СИИ").
gum("психология").
gum("истоpия").
gum("ин_яз").
var(X,Y):- tec(X), gum(Y).
|