Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программы классификации 49 9 Программа классифи...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
944 Кб
Скачать
☆

2. Основные элементы языка

2.1. Имена

Имена в языке Prolog используются для обозначения переменных, символьных констант, объявлений типов и предикатов.

Имя может начинаться с любой латинской буквы или символа подчеркивания "_", затем следует любая комбинация букв, цифр и символа "_".

При образовании имен необходимо учитывать следующие правила:

- имена строковых констант должны начинаться с маленькой буквы либо они должны быть заключены в кавычки;

- имена переменных должны начинаться с большой буквы или символа подчеркивания "_".

Имена предикатов могут быть записаны с любой буквы или символа подчеркивания.

2.2. Типы данных

Имеется следующие основные стандартные типы данных:

symbol

Символьная строка, которая начинается со строчной буквы или заключена в кавычки

string

Также символьная строка, но имеющая другое внутреннее представление

char

Отдельный символ, заключенный в апострофы

integer

Целое число в диапазоне от -32768 до 32767

real

Вещественное число в диапазоне степеней 10 от -307 до +308

2.3. Константы и переменные

Константы Пролога должны быть записаны:

а) либо с маленькой буквы (исключая кириллицу):

fact1, summa, person ;

б) либо стоять в одинарных кавычках (отдельный символ) или бинарных кавычках (строковая константа):

'c' , "summa=", "сумма" ;

в) либо они являются числами, целыми или вещественными:

25, 0.5, 3.2e-4 .

Таким образом, константы могут быть любого из стандартных типов Пролога. В программе тип констант явно не указывается.

Переменные – это цепочки, состоящие из букв, цифр и символа подчеркивания. Имя переменной всегда начинается с прописной буквы или с символа подчеркивания:

X, Summa, List_of_members, _x23.

Переменная может иметь один из стандартных типов, или тип ее определяется в секции описания областей определения (типов) domaims. Можно также использовать так называемую анонимную переменную, которая записывается в виде одного символа подчеркивания.

2.4. Программные секции Пролога

Программа на Прологе состоит из нескольких программных секций (разделов), каждой из которых предшествует ключевое слово, представленное в следующей таблице:

Domains

Объявление областей определение данных (типов)

Database

Объявление предикатов базы данных

Predicates

Объявление предикатов

Clauses

Определение фактов и правил

Goal

Цель

В программе необязательно наличие всех секций. Обычно в небольшой программе, находящейся в стадии отладки, присутствуют разделы Predicates и Clauses, хотя, вообще говоря, можно обойтись даже без них (например, когда проверяется работа стандартного предиката). Для больших программ появляется необходимость в секции Domains для объявления собственных имен типов, списков или сложных структур данных.

Порядок следования программных секций, как правило, соответствует порядку, приведенному в таблице, т.е. предикаты должны быть прежде объявлены (в секции Predicates), а затем следует их реализация (программирование) в секции Clauses. Единственное, пожалуй, исключение – цель в программе, если она есть, может стоять в любом месте, Пролог все равно «прочешет» весь код в поисках цели, и только если ее не найдет, запросит цель отдельно. Обычно цель записывают в конце программы как логическое ее завершение, но если цель стоит у вас в середине, не забудьте за ней записать ключевое слово, соответствующее продолжению программы, например Clauses.

В программе может использоваться только одна цель; если цель не указана, Пролог цель запросит. Прочих программных секций может быть сколько угодно. Можно описать несколько динамических баз данных или несколько объявлений предикатов с дальнейшей их реализацией.

Ключевые слова разделов можно записывать прописными и строчными буквами.

Комментарии к программе записываются либо парами символов слэш-звездочка:

/* это комментарий,

он занимает несколько строк */

либо остаток строки записывается после знака процента:

% это тоже комментарий