Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод. указ к лаб_ПЗ_1..doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
127.49 Кб
Скачать

3. Операторы и операции языка пролог

Задача 3.1. Записать операторную запись в виде структуры

4*f - r*a

Решение.

-(*(4,f),*(r,a))

Задача 3.2. Найдите ответ

?-Y = 2+5.

Решение.

Система выдаст ответ:

Y=2+5.

Задача 3.3. Составьте решение предыдущего примера

Решение.

?-Y is 2+5.

Система выдаст ответ:

Y=7

Задача 3.4. Составьте на языке ПРОЛОГ решение арифметического примера:

Y = 18\(5+1)

Решение.

?-Y is 18\(5+1).

Система выдаст ответ:

Y=3

Задача 3.5. Пусть функция f в системе известна и имеет вид:

f(X, Y, Z):-Z is Y*Y - Y*X.

Как система ответит на вопрос:

?- f(2, 3, R).

Решение.

Система выдаст ответ:

R= 4

Задача 3.6. Если определить сумму как функцию выражением:

sum(X1, X2, X):-X is X1 + X2.

а произведение:

mul(X1, X2, X):-X is X1 * X2.

Какой выдаст ответ система на запрос:

?-mul(1,sum(2, 3, X),Y).

Решение.

Система выдаст ответ:

Y=5

Задача 3.7. Что система ответит на запрос

?- sum(1, 1, X1), mul(X1, X1, X).

Решение.

Система выдаст ответ:

X = 4

4. Операции сравнения на языке пролог

Задача 4.1. Определить отношение "ниже" lower/2

для двух точек поверхности, определенных структурой point(X, Y).

Решение. Составим правило, характерное для проверки такого утверждения:

lower (point(X1, Y1), point(X2, Y2):-Y1<Y2.

тогда на вопрос

?- lower (point( 1, 1), point( 2, 2).

Система выдаст ответ:

Yes

5. Сопоставление в языке пролог

Задача 5.1. Найти ответ на вопрос:

?-a(B,c(x,D))=a(d,c(3,Х)).

Решение.

No

B=d х=3 (ошибка!) D=Х (ошибка!)

Задача 5.2. Найти ответ на вопрос:

? - triangle(point(1, 5), A, point(B, 8))=

triangle(X, point(2, 1), point(3, 8))

Решение.

Yes

X=point(1, 5) A=point(2, 1)

B=3

6. Представление списков в языке пролог

Задача 6.1. Представить структуру в виде дерева или диаграммой "виноградная лоза":

.(а ,.(b,.(c,[ ])))

Решение.

Задача 6.2. Представить структуру в виде дерева или диаграммой "виноградная лоза": .(а ,[ ],.(b,.(c)

Задача 6.3. Представить структуру диаграммой "виноградная лоза"для вложенных списков [a,b,[c,d]] :

Решение.

- на верхнем уровне три элемента

- на втором уровне два элемента.

Задача 6.4. Представить структуру диаграммой "виноградная лоза"для вложенных списков [a,[b,e],[c,d]].

Литература

1. Братко И. Алгоритмы искусственного интеллекта на языке PROLOG. Изд.:

Вильямс, 2004. – 637 с.

2. Ездаков А.Л. Функциональное и логическое программирование. Изд.: Бином,

2009. – 119 с.

3. http://www.mari-el.ru/mmlab/home/prolog/study_l.html

17