Основы современных компьютерных технологий


Основы программирования - часть 2


В Прологе типы данных называют доменами. Связывание типа домена с конкретным аргументом (местом) предиката осуществляется в разделе predicates. Домен описывает множество значений, которые может принимать переменная предиката в ходе выполнения программы.

Домены подразделяются на простые и структурированные, стандартные и нестандартные. К стандартным доменам относятся:

symbol - символьная константа (длина не более 250 символов), имеет две формы записи: последовательность букв, цифр и знаков подчеркивания, начинающаяся со строчной буквы; последовательность символов, заключенная в двойные кавычки. Примеры: apple, sortl, "personal", "Курсант Петров С.В."

string - строка символов: любая последовательность символов, заключенная в двойные кавычки.

char - отдельный символ, заключенный между двумя апострофами.

integer - целое число в диапазоне от-32768 до +32767.

real - действительное число, допускается обычная и экспоненциальная формы записи. Значение экспоненты должно быть в диапазоне от Е-307 до Е+308. Примеры: -34.567, 0.654, 9.76Е+3.

file - файловая переменная, значение ее определяется по правилам именования файлов и устройств в MS DOS. При выполнении операций с файлом ее необходимо связать с конкретным файлом или устройством.

Объявление новых доменов с использованием стандартных имеет вид:

=

Примеры объявлений:

domains


a=integer

fas=symbol

ret,das=real

Такие объявления новых доменов улучшают читабельность программы и обеспечивают контроль типов значений переменных - смешивать в ходе выполнения программы переменные разных типов (доменов) нельзя.

Кроме стандартных типов доменов, в Турбо-Прологе допускается использовать структуры доменов, состоящие из нескольких простых или сложных объектов. Объявление структуры имеет следующий вид:

=(,...).

Здесь называют функтором, а домены ,..., - это либо простые домены, либо имена ранее объявленных доменов, либо, в свою очередь, структуры. Структуры позволяют сортировать объекты по категориям.


Начало  Назад  Вперед