sin (sasha, ana) :- roditel (ana, sasha), malchik (sasha).
Данное правило читается следующим образом: “Саша (sasha) является сыном (sin) Анны (ana), если Анна (ana) является родителем (roditel) Саши (sasha) и (,) Саша (sasha) – это мальчик (malchik)”.
Цели – это особый вид утверждений, использующихся для постановки задач, которые должна решать программа. Формулируются цели в виде вопросов, выясняющих установленность или возможность установления фактов. Цель может быть простой или составной. Простая цель состоит из одного вопроса, описываемого аналогично факту программы. Составная цель включает две или более подцели, разделяемые запятыми. Цель может быть задана предикатом, обозначающим заголовок правила. Цель может быть также задана правилом, состоящим из заголовка и тела правила.
Все объекты выражений Турбо-Пролога (предикатов, фактов, правил, целей) называются термами. Каждый терм характеризуется своим именем и областью значений. Для описания типов области значений термов служат домены. Турбо-Пролог имеет 6 встроенных (стандартных) типов доменов: символы, целые числа, действительные числа, строки, символические имена и файлы. Ниже в табл.1. описаны все стандартные типы доменов Турбо-Пролога.
Таблица 1.
Тип данных |
Ключевое слово |
Диапазон значений и правила описаний |
Примеры использования в Турбо-Прологе |
1. Символы |
char |
Все возможные символы, заключенные в апостроф |
’A’; ’a’; ’%’; ’7’; ... |
2. Целые числа |
integer |
От -32768 до +32768 |
-63; 84; 2349; 32763; ... |
3. Действительные числа |
real |
От +1Е-307 до +1Е308 |
-3.15; -0.31; 12.3E -5; 4E27; ... |
4. Строки |
string |
Строки символов (не более 250), которые заключаются в кавычки |
"Петров"; "125_31"; "today"; ... |
5. Символические имена |
symbol |
Последовательности букв, цифр, подчерков начинающиеся с маленькой буквы. Любые символы, заключенные в кавычки |
flover; , school_day; nd21; ... "Atom"; "Атом-1"; "a_b_c"; ... |
6. Файлы |
file |
Допустимые имена файлов |
mail.txt; ... |
Как определялось выше, все объекты в выражениях ТурбоПролога являются термами. Различают простые и составные термы. К простым термам относятся константы и переменные.
К составным – структуры и списки.
Константы в Турбо-Прологе представляются в виде отдельных символов (домен char), целых и действительных чисел (домены integer,real), а также в виде совокупностей символов (т.е. имен), принадлежащих к стандартным доменам stringи symbol. Областью действия констант является вся программа.
Переменные в Турбо-Прологе служат для обозначения объектов, на которые нельзя ссылаться по имени. Они, в отличие от процедурных языков программирования, определяют не некоторую область зарезервированной памяти, а имя самого неизвестного, и получают свои значения во время выполнения программы при сопоставлении их с константами. Синтаксически переменная ставится на место неизвестного терма в выражениях (фактах, правилах, целях) и должна начинаться с большой буквы, или с символа подчеркивания.
Например:
roditel (X, vera). или roditel (_X, vera).
Так определяется цель на поиск всех родителей Веры (vera).
Переменная, состоящая только из символа подчеркивания, называется анонимной. Анонимная переменная (в отличие от именованной) используется в том случае, если принимаемое ей значение не существенно для данного выражения, т.е. может быть любым.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.