Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
49
Добавлен:
05.03.2016
Размер:
1.28 Mб
Скачать

Лабораторна робота №2 Робота з найпростішими програмами в системі Турбо-Пролог

Ціль роботи:

1. Знайомство зі структурою Пролог-програм, що використовують зовнішні або внутрішні цілі.

2. Одержання навичок роботи в оболонці системи Турбо-Пролог.

3. Знайомство з методикою налагодження і трасування програм.

4. Розробка найпростіших програм з використанням стандартних предикатів Турбо-Пролог.

2.1 Вступ

Розробка найпростіших програм і їхнє виконання в середовищі системи Турбо-Пролог вимагають початкових зведень по основних конструкціях мови Пролог і структурі Пролог-програм, що повинні містити як мінімум дві секції:

predicates – секцію опису структур відносин, використовуваних у програмі, у виді предикатів,

clauses – секцію визначення предикатів у виді набору фактів і правил.

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

Робота в системі програмування припускає наявність у користувача елементарних знань по роботі в Турбо-оболонках таких, як завантаження, ввід і редагування програмних файлів, запуск їх на виконання, а також налагодження програм і налаштування системи (див. лабораторну роботу №1).

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

При цьому мета формулюється у вигляді запиту до програми, що може являти собою кон'юнкцію підцілей. Для доведення будь-якої складної мети Пролог повинний довести всі її підцілі, створивши при цьому необхідну множину зв'язаних змінних. Якщо ж одна з підцілей помилкова. Пролог повернеться назад і перегляне всі можливі альтернативні рішення попередніх підцілей, а потім знову піде вперед, але з іншими значеннями змінних. Такий процес називається "пошуком з поверненням".

Кожна програма на Пролозі являє собою текстовий файл, що для запуску із системи Турбо-Пролог повинний мати розширення *.pro.

Вміст текстового файлу, з програмою на мові Пролог, може бути включений в іншу програму в режимі її компіляції. Для такої текстової підстановки в режимі компіляції використовується директива компілятора include, що має наступний синтаксис:

include “dos_file_name”

де dos_file_name – ім'я файлу системи, що включається в поточний програмний файл. Ім'я файлу може включати шлях доступу до нього.

Якщо в програмі використана ця директиви, то при компіляції в дане місце поточної програми буде вставлений вміст іншого текстового файлу, як частина поточної програми. Це дозволяє деякий набір уже налагоджених описів і предикатів зберігати в окремому тестовому файлі і включати його в інші програми при використанні звертань на ці, уже налагоджені, предикати.

Файл, що включається, сам може містити директиви include. Однак, файли, що включаються не повинні використовуватися рекурсивно. Тобто так, щоб той же самий файл уключався більш, ніж один раз у процесі компіляції. Використання багатьох рівнів файлів, що включаються, вимагає більше пам'яті в процесі компіляції, на відміну від того, коли файли були включені безпосередньо в головну програму.