Область действия именованной переменной ограничивается только тем выражением, в котором она используется. Поэтому в разных выражениях одно и то же имя переменной можно использовать совершенно различным образом. В этом смысле анонимная переменная отличается от именованной. Каждая анонимная переменная есть отдельная сущность, которая никогда не примет какого-либо конкретного значения, и поэтому несколько анонимных переменных в рамках одного и того же выражения отличаются друг от друга (т.е. являются различными сущностями).
Структуры – это составные термы, которые, в отличие от простых состоят из совокупности термов (как простых, так и составных), объединяемых в единое целое. Структуре присваивается некоторое объединительное имя, отражающее сущность совокупности объединенных термов. Синтаксически описание структуры в Турбо-Прологе имеет вид:
f (t1, t2,…,tn).
Здесь f – имя структуры; t1, t2,…,tn – термы, являющиеся его аргументами. Количество термов в структуре определяет ее арность. Структуры арности ноль являются простыми термами.
Примером описания тернарной структуры может служить следующая конструкция: data (12, "Mart", 1999).
Здесь data - имя структуры, объединяющей три простых терма. Из этой структуры, например, можно составить более сложную структуру, включив в нее еще один унарный составной терм sotr("Петров"). Присвоив этой новой структуре объединительное имя data_sotr получим:
data_sotr (data (12, "Mart", 1999), sotr("Петров")).
Замечание: Структура – это сложный объект, который можно использовать и обрабатывать аналогично простым термам.
Любая программа, написанная на Турбо-Прологе, может состоять из нескольких разделов. Начало каждого раздела программы (за исключением раздела опций компилятора) обозначается ключевым словом, за которым следует описание соответствующих программных объектов. Структура программы на Турбо-Прологе выглядит следующим образом:
/* Комментарии */
<опции компилятора> constants /* раздел констант */ <описание констант > domains /* раздел доменов */ <описание доменов > database /* раздел базы данных */ <описание предикатов базы > predicates /* раздел предикатов */ <описание предикатов > goal /* раздел целей */ <целевое утверждение> clauses /* раздел утверждений */
<описание фактов и правил>
/* Комментарии */
В программе на Турбо-Прологе могут присутствовать не все разделы.
Турбо-Пролог обеспечивает возможность включения в программу комментариев, которые обрамляются символами /* и */, и могут быть помещены в любом месте программы.
Турбо-Пролог является позиционно-независимой системой программирования и, поэтому, избыточные пробелы в предложениях языка игнорируются.
Раздел опций компилятора служит для установки режимов работы компилятора с помощью директив (опций). Некоторые директивы можно вводить также из Турбо-среды. Однако следует помнить, что директива в тексте программы имеет преобладающий приоритет и её нельзя отменить или заменить директивой из Турбо-среды. Краткие характеристики основных опций компилятора приводятся в приложении.
Разделconstants служит для объявления символических констант, которые используются в программе. Формат описания символических констант в Турбо-Прологе следующий:
Описание каждой константы размещается на отдельной строке, например: constants dwa =2 odin =1 sto =(10*(10-1)+10) pi =3.14
Имя константы следует начинать с маленькой буквы. Имена констант являются глобальными (т.е. область действия констант – вся программа) и могут объявляться в программе только один раз. В программе может быть несколько разделов констант, но они должны быть обязательно объявлены до их использования. Если символические константы не используются, то раздел constants в программе будет отсутствовать.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.