У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


Лабораторна робота

Тема: Знайомство з середовищем Strawberry Prolog.

Теоретичні відомості:

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

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

Розглянемо середовище програми Strawberry Prolog.

Команди, що доступні в пункті меню File: |

Створити новий документ.

Відкрити існуючий документ.

Закрити відкритий документ.

Зберегти відкритий документ.

Зберегти відкритий документ з новим ім’ям.

Друкувати документ.

Попередній перегляд документу.

Параметри принтера та документу.

Вийти з середовища Strawberry Prolog.

Основні команди, що доступні в пункті меню Edit:

Undo | Відмінити останню дію.

Вирізати дані з документу.

Копіювати дані.

Вставити дані.

Paste special... | Вставити OLE - дані (OLE технологія).

Select All | Виділити весь текст.

Find... | Знайти.

Основні команди, що доступні в пункті меню Run:

Compile | Відкомпілювати програму.

Run | Запустити програму на виконання.

Next Answer | Знайти іншу відповідь на задане питання.

Основні команди, що доступні в пункті меню Trace:

First Step | Зробити перший крок при пошуку відповіді на питання.

One Step | Зробити один крок при пошуку відповіді на питання.

Trace | Зупинити програму та почати трасування.

Terminate | Припинити виконання програми.

Основні команди, що доступні в пункті меню Options: |

Показує або ховає панель інструментів.

Показує або ховає рядок стану.

Environment | Відкриває діалогове вікно .

Project | Відкриває діалогове вікно Project.

Основні команди, що доступні в пункті меню Tools:

Stack window | Відкриває вікно стеку

Variables window | Відкриває вікно змінних

System List | Відкриває вікно списку всієї бази даних Прологу.

Завдання:

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

1. Нехай у нас є база даних, де занесена інформація про людей person(Х), їжу food(Y), вподобання людей щодо їжі likes(X, Y) та продукти, що є в продажу for_sale(Y).

person(kelly).

person(judy).

food(lemon).

food(hot_dog).

food(pizza).

likes(kelly, hot_dog).

likes(judy, pizza).

for_sale(pizza).

for_sale(lemon).

for_sale(hot_dog).

Сформулюємо наступне правило: Х може купити Y, якщо Х – це людина, Y – це їжа, Х любить їсти Y та продукт Y є в продажу.

can_buy(X, Y) :-

person(X),

food(Y),

likes(X, Y),

for_sale(Y).

Тоді пролог-системі можна задати такі питання:

1. Що може купити kelly?

?- can_buy(kelly, X), write(X).

2. Хто може купити бутерброд з гарячою сосискою?

?-can_buy(X, hot_dog), write(X).

3. Що можуть купити judy i kelly?

?-can_buy(judi, X), can_buy(kelly, X), write(X).

4. Що можуть купити judy або kelly?

?-can_buy(judi, X), write(X); can_buy(kelly, Y), write(Y).

2. Розглянемо наступну програму:

likes(ellen, reading).

likes(john, computers).

likes(john, badminton).

likes(leonard, badminton).

likes(eric, swimming).

likes(eric, reading).

Поставте різні запитання до цієї програми.

3. Розглянемо наступну програму:

car(chrysler, 130000, 3, red, 12000).

car(ford, 90000, 4, gray, 25000).

car(datsun, 8000, 1, red, 30000).

truck(ford, 80000, 6, blue, 8000).

truck(datsun, 50000, 5, orange, 20000).

- Знайдіть автомобіль, вартість якого становить рівно 25000.

- Чи існує в продажі автомобіль, вартість якого менша за 25000?

- Чи існує в продажі автомобіль або вантажівка, вартість яких менша 25000?