Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекц по Visual Prolog.doc
Скачиваний:
4
Добавлен:
02.05.2019
Размер:
937.47 Кб
Скачать

3.3. Домени елементарних об’єктів

Стандартні домени використовують для об’яви типів аргументів предикату користувача.

Прості стандартні типи відомі Прологу, їх не описують. В таблиці №1 подано прості стандартні домени, їх діапазон і приклади констант цих доменів.

Домен

Визначення елементів домену

Діапазон

Приклад константи

Real

Дійсне число

1e-307 ≤ X ≤ 1e-308

2.4 або 0.3e+2=30

Char

Символ ASCII

1 байт

‘a’ або ‘\97’

Symbol

Символічна константа. Записується за правилами ідентифікатору. Починається з малої букви

1-250символів

Prolog

String

Рядки

Рядки можуть подаватися як символи. Для цього в опціях компілятору обирають

Place Strings in Sym File

Довжина рядку <= 64 Кб

"Пролог" або “\48\49\50”

File

Символічне ім’я файлу

1-250

f1 записується за правилом ідентифікатору

Binary

Бінарна константа

Подається списком цілих значень перед котрим стоїть ознака $. Кожне ціле число переводиться в бінарний вигляд. Результат розміщується групою бінарних байтів

Ціле значення <= 255.

$[‘s’, 240,0xA1]

0x - шістнадцятирічний запис

0o – восьмирічний запис

Short

Коротке ціле зі знаком

Для всіх платформ 16 біт

32768 ≤ N ≤ 32767

-30940

Ushort

Коротке ціле без знаку

Для всіх платформ 16 біт

0-65535

39 434

Long

Довге ціле зі знаком

Для всіх платформ 32 біта:

-2 147 483 648 до

2 147 483 647

+300 000 000

Ulong

Довге ціле без знаку

Для всіх платформ 32 біта

0 - 4 294 967 295

3 234 556 765

Integer

Знакове ціле.

Діапазон залежить від платформи.

Для платформи 16 біт:

32768 ≤ N ≤ 32767

Для платформи 32 біта:

-2 147 483 648 до

2 147 483 647

+1 256 543 000

-355667

Unsigned

Ціле без знаку

Діапазон залежить від платформи.

Для платформи 16 біт: 0-65535

Для платформи 32 біта

0 - 4 294 967 295

64 000 000

Byte

Бінарний запис

Для всіх платформ 8 біт

0-255

А = 065

Word

Бінарний запис

Для всіх платформ 16 біт

0-65535

65065

Dword

Бінарний запис

Для всіх платформ 32 біт

0 - 4 294 967 295

 065 065 065

Предикатне значення

Ім’я предикату, що належить предикатному домену

pas

Об’єктне предикатне значення

Ім’я предикату, який об’явлено у класі, що належить об’єктному предикатному домену.

Book

ТАБЛИЦЯ №1

Програміст може ввести свої типи для аргументів предикату, які визначаються через стандартні домени або інші типи користувача.

Стандартні типи і типи користувача можуть бути простими і складеними(структурами). Тип даного вказує на структуру даного та можливі значення даного цього типу, які обираються з вказаного домену.

Прості типи користувача тотожні простим стандартним типам. Тобто дані простих доменів користувача мають ту ж структуру і діапазон значень, що прості стандартні типи, але ідентифікатори типу придумує користувач за мнемонікою. Типи користувача звужують область застосування даних відносно базового стандартного типу.

Прості типи користувача описують в секції Domains:

Domains

fath = string

son = string

Predicates

father (fath, son)

Структура – складний тип даних.

Структури описують в секції Domains. Розглянемо приклад опису списку з символів.

Domains

List=char*

Структури користувача визначаються за допомогою функтору. Функтор указує на ознаку, за якою збираються об'єкти в структуру.

Наприклад: структура, що задає адресу людини визначається:

Domains

Ad = adress (string, string, integer)

(місто, вулиця, будинок)