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

лп / Krtuvorychko / otchet_2

.doc
Скачиваний:
1
Добавлен:
09.02.2016
Размер:
54.78 Кб
Скачать

Міністерство освіти і науки, молоді і спорту України

Кіровоградський національний технічний університет

Механіко-технологічний факультет

Кафедра програмного забезпечення

Дисципліна: « Логічне програмування »

Лабораторна робота № 2

Тема: «Багатомісні предикати, комутативність і асоціативність»

Виконав: ст. групи КІ-12-СК

Криворучко О.В.

Перевірив: викладач

Резніченко В.А.

Кіровоград 2013

Мета: Розглянути структуру багатомісних предикатів та правила описання властивостей комутативності і асоціативності на мові програмування Turbo Prolog.

Завдання:

1. Задано співвідношення між прямими а, b і с по варіантам (номер варіанту визначається за формулою (N mod 12)+1, де N – номер по журналу):

8) с║а, а┴b

2. Зобразіть прямі на папері.

3. Складіть програму, що містить дані факти і правила, що пов’язують між собою паралельні і перпендикулярні прямі.

4. Задати питання типу:

- Чи паралельні вказані прямі?

- Чи перпендикулярні вказані прямі?

- Які прямі паралельні (перпендикулярні) вказаній прямій?

- Які прямі паралельні чи перпендикулярні вказаній прямій?

- Чи існують прямі, одночасно паралельні і перпендикулярні?

Лістинг програми:

predicates

paral(symbol,symbol)

perp(symbol,symbol)

clauses

paral(c,a).

paral(a,c):-paral(c,a).

perp(a,b).

perp(b,a):-perp(a,b).

perp(c,b):-paral(a,c),perp(a,b).

perp(b,c):-perp(c,b).

Рис.1 – Виконання програми

Контрольні питання:

  1. Що таке багатомісні предикати? Наведіть приклади.

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

  1. Чому для описання відношення асоціативності та комутативності на мові Turbo Prolog треба використав

  2. увати новий предикат?

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

  1. Якими значками на мові Turbo Prolog передаються союзи „і” та „або”?

Союз “і” на мові програмування Prolog заміняє символ “,”, союз “або” на мові програмування Prolog заміняє символ “;”.

2

Соседние файлы в папке Krtuvorychko