Лабораторна робота №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). Функтор не символізує якесь обчисленя, яке повинно бути виконаним. Це просто ім'я об'єкту. Аргументи складного об'єкту самі можуть бути складними об'єктами.