Лабораторна робота №5

ПРОСТІ ТА СКЛАДНІ ОБ'ЄКТИ.

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

5.1 Прості дані.

В якості простих даних виступають змінні або ж константи. Константа може бути або ж символьною (char), або ж числовою (integer, real), атомарною (symbol, string).

Змінна позначається ідентифікатором. Ідентифікатор починається з великої букви у діапазоні від А доZ, або ж символом підкреслення (_). Як ми вже зазначали, єдиний символ підчеркування позначає анонімну змінну. В Пролозі змінна може зв'язуватись з любим допустимим аргументом або об'єктом даних. Відмітимо, що змінні Прологу є локальними, а не глобальними. Іншими словами, якщо два пункти мають змінну Х, тоді ці Хє різними змінними.

 

5.1.1. Константи як об'єкти даних.

Константи включають символи, числа і атоми. Значення константи міститься в її імені. Так константа 2 може символізувати тільки число 2, а константа abracadabra може символізувати тільки стрічку abracadabra.

Символи.

Символи мають тип char, вони будуються з символів коду ASCII.

Існує два способи задання символів в якості констант Прологу: безпосередньо, або ж з попереднім символом (\). Ось приклад деяких друкованих символів: 'f', '4','F'. Якщо ж вам потрібно написати символи типу (\), ("), ('), тоді перед ними потрібно поставити символ (\): ('\\'), ('\"'), ('\''). Деякі пари символів позначають спеціальні дії, наприклад:

'\n'-перехід на нову стрічку;

'\r'-повернення каретки;

'\t'-горизонтальна табуляція.

 

Числа.

Числа мають тип або іnteger, або real. Цілі містять значення з діапазону від -32768 до 32767 включно. Дійсні зберігаються в форматі ІEEE в проміжку від 1е-308 до 1е308.

 

Атоми.

Атом має тип або ж symbol, або жstring. Пролог виконує автоматичне перетворення типів між цими двома доменами.

Ім'я символьних атомів починається з маленької букви.

Стрічкові атоми повинні заключатись в подвійні лапки і можуть містити любу комбінацію дозволених символів PDC Прологу.

 

5.2.Складні об'єкти даних і функтори.

Складні об'єкти даних дозволяють вам заключати декілька частин інформації в єдиний пункт. Наприклад, дата 2 квітня 1994 складається з 3 частин. Але іноді їх корисно з'єднати воєдино:

date("April",2,1989)

Так виглядає факт Прологу, в даному випадку - просто об'єкт даних. Він починається з імені або ж функтора (в нашому прикладі date). Функтор не символізує якесь обчисленя, яке повинно бути виконаним. Це просто ім'я об'єкту. Аргументи складного об'єкту самі можуть бути складними об'єктами.