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

Логическое программирование1 / 1-5_LR_4KSM_Logichne_progr_2014-15

.pdf
Скачиваний:
16
Добавлен:
07.02.2016
Размер:
498.87 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ХЕРСОНСЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ

Кафедра інформацiйних технологій

МЕТОДИЧНІ РЕКОМЕНДАЦІЇ

та контрольні завдання до виконання лабораторних робіт з дисципліни „Логічне програмування” для студентів четвертого курсу

для напряму підготовки 6.050102 “Комп’ютерна інженерія” (за професійним спрямуванням “Комп’ютерні системи та мережі”) галузі знань 0501 “Інформатика та обчислювальна техніка” факультету кібернетики та системної інженерії

Лабораторні роботи 1-5

Херсон – 2014 р.

2

Методичні рекомендації та контрольні завдання до виконання лабораторних робіт з дисципліни „Логічне програмування” для студентів четвертого курсу напряму підготовки 6.050102 “Комп’ютерна інженерія” (за професійним спрямуванням “Комп’ютерні системи та мережі”) галузі знань 0501 “Інформатика та обчислювальна техніка”. Лабораторні роботи 1-5.

Укладач: Веселовська Г.В., доцент кафедри інформаційних технологій ХНТУ, к.т.н., доцент, кількість сторінок 94.

Рецензент: Кибалко І.І., доцент кафедри інформаційних технологій ХНТУ, к.т.н.

Затверджено на засіданні кафедри інформаційних технологій ХНТУ, протокол № 1 від 29.08.2014 р.

Завідувач кафедри інформаційних технологій ХНТУ, д.т.н., професор, заслужений діяч науки і техніки України

____________________ В.Є.Ходаков

Відповідальний за випуск В.Є.Ходаков, завідувач кафедри інформаційних технологій ХНТУ, д.т.н., професор, заслужений діяч науки і техніки України.

3

ЛАБОРАТОРНА РОБОТА 1

Тема: Концептуальні основи логічного програмування.

Мета: Практичне знайомство з базовими інструментальними засобами та методами технології логічного програмування.

1 ПЛАН ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ

1.Вивчити основні теоретичні відомості до лабораторної роботи.

2.Опрацювати контрольні питання.

3.Вивчити вимоги до оформлення, захисту та оцінювання лабораторних робіт (Додаток А).

4.Виконати індивідуальні контрольні завдання.

5.Скласти звіт.

6.Захистити звіт.

2 ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ

Для отримання основної теоретичної підготовки до лабораторної роботи, ознайомтеся з указаними нижче інформаційними джерелами, акцентувавши увагу на поняттях логічного програмування та мов логічного програмування:

1)опрацюйте матеріал лекції 1;

2)опрацюйте Інтернет-ресурси, що стосуються теорії та практичних застосувань технологій (інструментальних засобів і методів) логічного програмування:

– виконайте добірку актуальних ресурсів Інтернету, зафіксувавши отриманий перелік найменувань ресурсів і ваших коментарів до них (бажано –

утабличній формі);

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

4

2 КОНТРОЛЬНІ ПИТАННЯ

1.Сформулюйте поняття логічного програмування.

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

3.Якими є галузі практичного застосування технології логічного програмування ?

4.Охарактеризуйте програмне забезпечення технології логічного програмування.

5.Яке математичне забезпечення покладене в основу технології логічного програмування ?

4 ІНДИВІДУАЛЬНІ КОНТРОЛЬНІ ЗАВДАННЯ

ЗАВДАННЯ 1.

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

Таблиця 1

Індивідуальні варіанти до завдання 1

Номер

Найменування предметних галузей

варіанту

 

1Системне адміністрування.

2Створення інформаційних систем.

3Створення систем штучного інтелекту.

5

Продовження таблиці 1

Номер

Найменування галузей практичного застосування

варіанту

 

 

 

4

Створення Web-додатків і Web-сайтів.

 

 

5

Управління аеропортом.

 

 

6

Виробництво автомобілів.

 

 

7

Бізнес-діяльність.

 

 

8

Розробка програмного забезпечення для Web.

 

 

9

Управління залізничним вокзалом.

 

 

10

Офісна діяльність.

 

 

11

Прийняття управлінських рішень.

 

 

12

Оптимізація виробничої діяльності.

 

 

13

Розпізнавання образів.

 

 

14

Логічні ігри.

 

 

15

Розробка діагностичних експертних систем.

 

 

16

Креативна галузь практичного застосування (за узгодженням із

 

викладачем)

6

ЛАБОРАТОРНА РОБОТА 2

Тема: Математичні основи логічного програмування.

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

1 ПЛАН ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ

1.Вивчити основні теоретичні відомості до лабораторної роботи.

2.Опрацювати контрольні питання.

3.Вивчити вимоги до оформлення, захисту та оцінювання лабораторних робіт (Додаток А).

4.Виконати індивідуальні контрольні завдання.

5.Скласти звіт.

6.Захистити звіт.

2 ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ

2.1.Базові поняття мови Пролог

2.1.1.Короткий огляд базових понять мови Пролог

Пролог є декларативною мовою, основаною на логіці предикатів. Предикати в загальному випадку визначають відносини між

об`єктами.

Факти та правила є твердженнями, що утворюють дані Пролог-програми. Правила мають ліву частину (голову) та праву частину (тіло).

Ліва частина правила є істинною, якщо істинна права частина правила.

7

Правила генерують нові факти тоді, коли всі твердження в їх тілі виявляються обчисленими.

Цілі – конструкції на основі предикатів, які оголошують, що саме повинна довести програма на Пролозі.

Зв`язки в цілях і правилах виконують генерацію підцілей в якості кроків процесу доведення цілі.

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

охарактеризовано логіку предикатів як математичний фундамент декларативної мови програмування Пролог;

висвітлено логічну сторону розв'язування задач за допомогою інструментальних засобів Прологу;

представлено засоби та методи управління процесом виконання Пролог- програми;

пояснено принципи дії внутрішніх уніфікаційних підпрограм Прологу та особливості реалізації механізму відкату.

2.2.Інструментальне середовище розробника мови Пролог

2.2.1.Особливості реалізацій мови Пролог

Мова програмування Пролог (Prolog) має ряд стандартних реалізацій, які характеризуються наступними властивостями:

– є повністю сумісними, оскільки мають однаковий базовий синтаксис, який відповідає міжнародним стандартам ISO;

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

8

Серед найбільш потужних, сучасних та універсальних реалізацій мови Пролог, слід виділити візуальний Пролог (Visual Prolog), який надає типове сучасне інструментальне середовище розробника – графічне, віконне, візуальне, об'єктно-орієнтоване, мережне, націлене на використання розроблених програмних додатків у Web-просторі Інтернету.

Якщо ж ресурси вашого ПК дещо обмежені для використання Visual Prolog, то можна скористатися однією з компактних реалізацій мови Пролог, наприклад, Турбо-Прологом (Turbo-Prolog), яка має аналогічний базовий синтаксис, але інше інструментальне середовище розробника (див. методичні вказівки для самостійної роботи студентів).

2.2.2. Типові програми для опановування інструментального середовища розробника

мови Пролог

Для практичного опановування основних понять про елементи управління та технології застосування інструментального середовища розробника мови Пролог, у даній лабораторній роботі вам потрібно буде виконати типові дії зі створення, корегування, збереження, запуску на виконання та аналізу результатів роботи двох нескладних Пролог-програм.

По-перше, ретельно вивчіть і запустіть на виконання Пролог-програму, запропоновану у матеріалах «Основи системы Visual Prolog» інформаційного ресурсу wikiru.visual-prolog.com.

По-друге, опрацюйте наведену нижче Пролог-програму, що виводить на екран комп`ютеру привітальне запрошення "Welcome to Turbo Prolog!".

9

predicates hello

goal

hello. clauses

hello :-

write("Welcome to Turbo Prolog!"), nl.

Для реалізації виведення повідомлення на екран комп`ютеру, в даній Пролог-програмі використовуються наступні стандартні команди: write (для виведення на екран повідомлення, розташованого в подвійних лапках); nl (для переведення курсору в початок наступного рядка).

Зазначені стандартні команди поєднані в один логічний блок під назвою hello за допомогою наступних символів-зв`язок: двокрапка з наступним дефісом (:-) розпочинає логічний блок; кома (,) поєднує окремі команди логічного блоку логічною зв'язкою OR (“або”); крапка (.) завершує логічний блок.

4.КОНТРОЛЬНІ ПИТАННЯ

1.Назвіть загальні та відмінні риси стандартних реалізацій мови програмування Пролог.

2.Охарактеризуйте переваги мови Visual Prolog як однієї з реалізацій Прологу.

3.Поясніть призначення та стандартні команди Пролог-програм, представлених в основних теоретичних відомостях до лабораторної роботи.

4.До якої категорії мов програмування належить Пролог ?

5.Чим відрізняються твердження, що містяться в фактах, від тверджень, які містяться в правилах ?

6.Як називається речення в Пролог-програмі, за допомогою якого формулюється запит до системи ?

10

4.Речення Прологу складаються з голови та тіла, де тіло це список цілей, розділених комами. Яке речення Прологу має наступні компоненти: а) тільки голову (та пусте тіло); б) тільки тіло; в) і голову, і непусте тіло ?

5.Прочитайте двома способами наступне правило:

має_дитину(X):- є_одним_із_батьків(X,Y).

5. КОНТРОЛЬНІ ЗАВДАННЯ

5.1. Загальні контрольні завдання

Завдання 1. Уведіть до комп`ютеру, збережіть на диску, запустіть на виконання та проаналізуйте результати роботи програми WELCOME, наведеної нижче.

predicates hello

goal

hello. clauses

hello :-

write("Welcome to Turbo Prolog!"), nl.

Додайте до програми WELCOME (див. завдання 1), одразу після рядка «write("Welcome to Turbo Prolog!"),» наступний рядок:

nl, write("Have a nice day."),

Збережіть, запустіть на виконання та проаналізуйте результати роботи зміненого варіанту програми.

Ще раз модифікуйте, запустіть на виконання та проаналізуйте програму, замінивши запропонований у ній текст інформацією про результати вашої останньої заліково-екзаменаційної сесії.