Кафедра програмного забезпечення автоматизованих систем

Шекета В.І.

ЛОГІЧНЕ ПРОГРАМУВАННЯ

МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ

для студентів спеціальності

7.080403 - “Програмне забезпечення автоматизованих систем”

Тільки для поширення в

електронному вигляді

Рекомендовано методичною радою університету

м. Івано-Франківськ

МВ _________________________

Шекета В.І. Логічне програмування: Методичні вказівки до виконання лабораторних робіт. – Івано-Франківськ: Факел, 2009. - 91с.

Методичні вказівки складено згідно з навчальною програмою курсу “ Логічне програмування ” для спеціальності 7.080403 і призначені для допомоги при виконанні лабораторних робіт для студентів всіх форм навчання.

Рецензент: кандидат технічних наук, доцент кафедри програмного

забезпечення автоматизованих систем ІФНТУНГ І.З. Лютак

Голова метоб’єднання спеціальності

д-р тех. наук, професор В.М.Юрчишин

Завідувач кафедри програмного

забезпечення автоматизованих систем,

д-р тех. наук, професор В.М.Юрчишин

Член експертно-редакційної

комісії університету,

канд. тех. наук, доцент М.Й. Федорів

Нормоконтролер Г.Я. Онуфрик

Коректор Н.Ф. Будуйкевич

Інженер І категорії Н.В. Мирка

© Шекета В.І., 2009

© ІФНТУНГ, 2009

МВ _________________________

Шекета В.І. Логічне програмування: Методичні вказівки до виконання лабораторних робіт. – Івано-Франківськ: Факел, 2009. - 91с.

Методичні вказівки складено згідно з навчальною програмою курсу “ Логічне програмування ” для спеціальності 7.080403 і призначені для допомоги при виконанні лабораторних робіт для студентів всіх форм навчання.

Рецензент: І.З. Лютак - кандидат технічних наук, доцент кафедри програмного забезпечення автоматизованих систем ІФНТУНГ.

© Шекета В.І., 2009

© ІФНТУНГ, 2009

ЗМІСТ

Лабораторна робота № 1.

ПРОЛОГ - МОВА ЛОГІЧНОГО ПРОГРАМУВАННЯ.

1.1.Загальний огляд мови Пролог.

1.2.Переваги і недоліки мови Пролог.

1.3.Числення предикатів - математична основа мови.

1.4.Побудова теорії деякої області знань.

1.5.Від формальної логіки до логічного програмування.

Лабораторна робота №2. ОСНОВНІ КОНЦЕПЦІЇ ПРОЛОГУ.

2.1.Факти та правила.

2.2.Як змінні отримують свої значення.

2.3.Анонімні змінні.

2.4.Складні цілі: кон`юнкція та диз`юнкція.

2.5.Способи Співставлення.

Лабораторна робота №3. СТРУКТУРА ПРОГРАМИ PDC ПРОЛОГУ.

3.1.Основні розділи програми.

3.2 Стандартні домени.

3.3.Синтаксис правила.

3.4.Директиви комп`ютеру.

3.5.Бектрекінг.

Лабораторна робота № 4. КОНТРОЛЬ ПОШУКУ РІШЕНЬ.

4.1.Використання предикату fail.

4.2.Відміна бектрекінгу.

4.3.Предикат NOT - заперечення як неуспіх.

4.4.Труднощі у використанні відтинання і заперечення.

4.5.Засоби керування.

4.6.Узагальнення.

Лабораторна робота №5. ПРОСТІ ТА СКЛАДНІ ОБ'ЄКТИ.

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

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

5.3.Приклад використання складних об'зктів.

5.4.Опис доменів складних об'єктів.

5.5.Багаторівневі складні об'єкти.

5.6.Приклад, який ілюструє задання структури речення англійської мови.

5.7.Опис змішаних складних об'єктів.

5.8.Порівняння складних об`єктів.

Лабораторна робота №6. ІТЕРАЦІЯ І РЕКУРСІЯ.

6.1.Реалізація ітераційного процесу за допомогою бектрекінгу.

6.2.Дії типу до і після.

6.3.Застосування бектрекінгу для реалізації циклів.

6.4.Рекурсивні процедури.

Лабораторна робота №7. РЕКУРСИВНІ СТРУКТУРИ ДАНИХ

7.1.Структура даних типу дерева.

7.2.Обходи дерева.

7.3.Створення дерева.

7.4.Бінарний пошук на дереві.

7.5. Сортування по дереву.

Лабораторна робота № 8. РОБОТА З СПИСКАМИ В ПРОЛОЗІ

8.1.Рекурсивна сутність списку.

8.2.Обробка списків.

8.3.Використання одного й того ж предикату для вирішення різних задач.

8.4. Знаходження зразу всіх розв`язків.

8.5.Складні списки.

8.6.Реалізація синтаксичного аналізу за допомогою списків.

Лабораторна робота №9. ТЕХНІКА ПРОГРАМУВАННЯ В ПРОЛОЗІ

9.1.Принципи побудови експертної системи.

9.2. Макетування: задача маршрутизації.

9.3.Пригоди в дивних печерах.

9.4. Моделювання апаратних засобів.

9.5.Задача про ханойські башні.

9.6.Ділення слів на склади.

9.7. Задача про N королев.

Лабораторна робота №10.

ОСОБЛИВІ ТЕХНІЧНІ ПРИЙОМИ ДЛЯ ПРОФЕСІОНАЛІВ

10.1.Потоковий аналіз.

10.2.Керування потоковим аналізом.

10.3. Стиль програмування.

Література

Наши рекомендации