- •3. Що зазвичай являє собою програма на мові Пролог?
- •5. З яких розділів зазвичай складається програма на Visual Prolog?
- •10. Назвіть правила оголошення предикатів.
- •11. Назвіть правила іменування предикатів.
- •12. Перелічіть основні домени в Visual Prolog.
- •13. Поясніть, коли потрібно декларувати домени аргументів предикатів, а коли ні.
- •21. Як закоментувати рядок або частину програми в Пролозі?
- •1. Дайте визначення поняттю «уніфікація» та поясність процес уніфікації цільового твердження з реченням.
- •3. Поясніть, навіщо використовується точка пошуку з поверненням.
- •1. Назвіть види повторень, які реалізовані в Пролозі.
- •4. Де зберігаються значення змінних при рекурсії?
10. Назвіть правила оголошення предикатів.
Оголошення предиката починається з імені цього предиката, за яким відкривається кругла дужка «(», після чого йде нуль або більше доменів (типів) аргументів предиката, після кожного домену (типу) аргументу слідує кома, а після останнього типу аргументу закривається дужка «)».
11. Назвіть правила іменування предикатів.
Ім'я предиката має починатися з літери, за якою може розташовуватися послідовність
літер, цифр і символів підкреслення. Регістр літер не має значення, проте не слід
використовувати великі букви в якості першої літери імені предиката. Ім'я предиката може мати довжину до 250 символів. В іменах предикатів забороняється використовувати пробіл, символ мінус, зірочку і інші алфавітно-цифрові символи. А
12. Перелічіть основні домени в Visual Prolog.
Домен Опис Реалізація
short Коротке, знакове, кількісне Всі платформи 16 біт (від -32768 до 32767)
ushort Коротке, беззнакове, кількісне Всі платформи 32 біт (від 0 до 65535)
long Довге, знакове, кількісне Всі платформи 32 біт (від -2147483648 до 2147483647)
ulong Довге, беззнакове, кількісне Всі платформи 32 біт (від 0 до 4294967295)
integer Знакове, кількісне, має платформо-залежний розмір Платформи 16 біт (від -32768 до
32767)
Платформи 32 біт (від -2147483648 до
2147483647)
unsigned Беззнакове, кількісне, має платформо-залежний розмір Платформи 16 біт (від 0 до
65535)
Платформи 32 біт (від 0 до 4294967295)
byte Всі платформи 8 біт (від 0 до 55)
word Всі платформи 16 біт (від 0 до 65535)
dword Всі платформи 32 біт (від 0 до 4294967295)
13. Поясніть, коли потрібно декларувати домени аргументів предикатів, а коли ні.
В традиційному Пролозі є тільки один тип – терм. В Visual Prolog необхідно оголошувати домени всіх аргументів предикатів. Домени дозволяють задавати різні імена різним видам даних, які, в протилежному випадку, будуть виглядати абсолютно
однаково. В програмах Visual Prolog об'єкти у відношеннях (аргументи предикатів) належать доменам, причому це можуть бути як стандартні (табл. 1.2), так і описані вручну спеціальні домени. 14. Чим відрізняється ціль (goal) від правила?
Ціль відрізняється від правила наступним:
за ключовим словом goal не слідує «:-»;
при запуску програми Visual Prolog автоматично виконує ціль. 15. Для чого використовується розділ факти?
Розділ фактів (facts). Програма на Visual Prolog являє собою набір фактів і правил. Іноді в
процесі роботи програми виникає необхідність модифікувати (змінити, видалити або додати) деякі факти, з якими вона працює. В цьому випадку факти розглядаються як динамічна або внутрішня база даних, яка при виконанні програми може змінюватися. Для оголошення фактів програми, що розглядаються як частини динамічної (або змінної) бази даних, Visual Prolog включає спеціальний розділ – facts. Ключове слово facts оголошує розділ фактів. Саме в цій секції є можливість оголосити факти, що включаються в динамічну базу даних. В Visual Prolog є кілька вбудованих предикатів, що полегшують використання динамічних фактів. 16. Назвіть обмеження, що накладаються на використання констант.
На використання символічних констант накладаються наступні обмеження:
опис константи не може посилатися сам на себе:
my_number = 2*my_number/2
такий запис не допускається, його використання призведе до появи повідомлення про помилку «Recursion in constant definition» (рeкурсія в описі константи);
в описах констант система не розрізняє верхній і нижній регістри. Отже, при
використанні в розділі програми clauses ідентифікатора типу constants, його перша літера повинна бути маленькою для того, щоб уникнути плутанини між константами та змінними.
в програмі може бути кілька розділів constants, однак оголошення константи
повинно проводитися перед її використанням; ідентифікатори констант є глобальними і можуть оголошуватися тільки один раз.
Множинне оголошення одного і того ж ідентифікатора призведе до повідомлення про помилку «Constant identifier can only be declared once» (ідентифікатор константи може оголошуватися тільки один раз). 17. Для чого використовуються глобальні розділи?
Глобальні розділи (global). Visual Prolog дозволяє оголошувати деякі розділи domains,
predicates, clauses глобальними (а не локальними). Зробити це можливо, оголосивши в програмі спеціальні розділи global domains, global predicates і global facts. 18. Назвіть правила іменування змінних в Пролозі.
Імена змінних в Visual Prolog повинні починатися з великої літери (або з символу підкреслення), після якої може стояти будь-яка кількість літер (великих або малих), цифр
або символів підкреслення. Зручно використовувати в назві змінної букви різного регістру. 19. Назвіть призначення анонімних змінних.
Якщо потрібна тільки певна інформація запиту, можна використовувати анонімні змінні
для ігнорування непотрібних значень. В Visual Prolog анонімні змінні позначаються з символу нижнього підкреслення («_»). Анонімна змінна може бути використана на місці будь-якої іншої змінної і їй ніколи не присвоюється значення. Анонімні змінні також можна використовувати у фактах.Анонімні змінні зіставляються з будь-якими даними. 20. Назвіть правило іменування анонімних змінних. См. Выше
